# \[Feature #1159\] StringScanner $B$KJ8;z%Y!\<%9$G$N%$%s%G%C%/%9$rJV$9%a%=%C%I$,$\[$7$$(B

**URL:** <https://www.ruby-forum.com/t/feature-1159-stringscanner-b-kj8-z-y-9-g-n-s-g-c-9-rjv-9-a-c-i-7-b/160314>\
**Category:** Development\
**Created:** [February 14, 2009, 8:40am UTC](https://www.ruby-forum.com/t/feature-1159-stringscanner-b-kj8-z-y-9-g-n-s-g-c-9-rjv-9-a-c-i-7-b/160314 "2009-02-14T08:40:07Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Akira\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Akira\_M](https://www.ruby-forum.com/u/Akira_M)\
**Post date:** [February 14, 2009, 8:40am UTC](https://www.ruby-forum.com/t/feature-1159-stringscanner-b-kj8-z-y-9-g-n-s-g-c-9-rjv-9-a-c-i-7-b/160314/1 "2009-02-14T08:40:07Z")

</div>

Feature #1159: StringScanner  
e$B$KJ8;z%Y!\<%9$G$N%$%s%G%C%/%9$rJV$9%a%=%C%I$,$[$7$$e(B  
[http://redmine.ruby-lang.org/issues/show/1159](http://redmine.ruby-lang.org/issues/show/1159)

e$B5/I\<\<Te(B: Akira M.  
e$B%9%F!\<%?%9e(B: Open, e$BM%@hEYe(B: Normal  
e$B%+%F%4%je(B: core

e$B\>\>ED$H?=$7$^$9!#e(B

Ruby 1.9e$B$Ne(B StringScanner#pos (pointer) e$B$,8=:_$O%P%$%HC10Le(B  
e$B$G$N%$%s%G%C%/%9$rJV$7$F$/$l$k$N$G$9$,!"e(B  
e$BJ8;zNs%Y!\<%9$G$N%$%s%G%C%/%9$rJV$9%a%=%C%I$,M_$7$$!"e(B  
e$B$^$?$O!"e(Bpose$B$,J8;zNs%Y!\<%9$G$N%$%s%G%C%/%9$rJV$9$h$&$Ke(B  
e$BJQ99$7$FM\_$7$$$G$9!#e(B

---

<div class="post-metadata">

**Author:** ![Akira\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Akira\_M](https://www.ruby-forum.com/u/Akira_M)\
**Post date:** [February 14, 2009, 1:24pm UTC](https://www.ruby-forum.com/t/feature-1159-stringscanner-b-kj8-z-y-9-g-n-s-g-c-9-rjv-9-a-c-i-7-b/160314/2 "2009-02-14T13:24:50Z")

</div>

e$B@.@%$G$9!#e(B

Akira M. wrote:

> e$B$G$N%$%s%G%C%/%9$rJV$7$F$/$l$k$N$G$9$,!"e(B  
> e$BJ8;zNs%Y!\<%9$G$N%$%s%G%C%/%9$rJV$9%a%=%C%I$,M\_$7$$!"e(B  
> e$B$^$?$O!"e(Bpose$B$,J8;zNs%Y!\<%9$G$N%$%s%G%C%/%9$rJV$9$h$&$Ke(B  
> e$BJQ99$7$FM\_$7$$$G$9!#e(B

StringScanner#pos e$B$NJ8;z0LCV$X$NJQ99$Oe(B IO#pos  
e$B$H$NMm$\_$GFq$7$/!"e(B  
e$B$^$?!“e(BStringScanner#pos= e$B$de(B IO#pos=  
e$B$r;H$C$?8e$GJ8;z%$%s%G%C%/%9$re(B  
e$B:F;;=P$7$J$$$H$$$1$J$$$N$G!”$J$+$J$+Fq$7$$$h$&$K46$8$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Akira\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Akira\_M](https://www.ruby-forum.com/u/Akira_M)\
**Post date:** [February 14, 2009, 6:00pm UTC](https://www.ruby-forum.com/t/feature-1159-stringscanner-b-kj8-z-y-9-g-n-s-g-c-9-rjv-9-a-c-i-7-b/160314/3 "2009-02-14T18:00:57Z")

</div>

e$B\>\>ED$G$9!#e(B

On 2009/02/14, at 21:22, NARUSE, Yui wrote:

> StringScanner#pos e$B$NJ8;z0LCV$X$NJQ99$Oe(B IO#pos e$B$H$NMme(B  
> e$B$\_$GFq$7$/!"e(B  
> e$B$^$?!“e(BStringScanner#pos= e$B$de(B IO#pos= e$B$r;H$C$?8ee(B  
> e$B$GJ8;z%$%s%G%C%/%9$re(B  
> e$B:F;;=P$7$J$$$H$$$1$J$$$N$G!”$J$+$J$+Fq$7$$$h$&$K46$8$^$9!#e(B

e$B$J$k$[$I!#eFq$7$$$N$G$9$M!#e(B  
IOe$B$H$NMm$\_$H$$$&$H$3$m$b$J$+$@$5$s$+$i$b;G$$$^$7$?!#e(B  
e$B$@$C$?$i;EJ}$,$J$$$N$+$b$7$l$^$;$s!#e(B

e$B$?$@!“MxMQ\<T$NB&$+$i8+$k$H!”@55,I=8=$GJ8;zNs$C$]$/e(B  
scane$B$5$;$k$/$;$K%$%s%G%C%/%9$O%P%$%H$+$h!"$H$+!"e(B  
Stringe$B$r07$&$N$Ke(BString#[] e$B$H?t$($+$?$,0c$&E@$H$+!“e(B  
e$B$=$&$$$&0cOB46$O$d$C$Q$j$”$k$h$&$J5$$,$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Akira\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Akira\_M](https://www.ruby-forum.com/u/Akira_M)\
**Post date:** [February 14, 2009, 6:43pm UTC](https://www.ruby-forum.com/t/feature-1159-stringscanner-b-kj8-z-y-9-g-n-s-g-c-9-rjv-9-a-c-i-7-b/160314/4 "2009-02-14T18:43:42Z")

</div>

e$B$J$+$@$G$9!#e(B

At Sun, 15 Feb 2009 01:55:49 +0900,  
e$B\>\>EDe(B e$BL@e(B wrote in [ruby-dev:38012]:

> > StringScanner#pos e$B$NJ8;z0LCV$X$NJQ99$Oe(B IO#pos e$B$H$NMme(B  
> > e$B$\_$GFq$7$/!"e(B  
> > e$B$^$?!“e(BStringScanner#pos= e$B$de(B IO#pos= e$B$r;H$C$?8ee(B  
> > e$B$GJ8;z%$%s%G%C%/%9$re(B  
> > e$B:F;;=P$7$J$$$H$$$1$J$$$N$G!”$J$+$J$+Fq$7$$$h$&$K46$8$^$9!#e(B
> 
> e$B$J$k$[$I!#eFq$7$$$N$G$9$M!#e(B  
> IOe$B$H$NMm$\_$H$$$&$H$3$m$b$J$+$@$5$s$+$i$b;G$$$^$7$?!#e(B  
> e$B$@$C$?$i;EJ}$,$J$$$N$+$b$7$l$^$;$s!#e(B

e$BeFq$7$$$H$$$&$h$j!"e(B

ss = StringScanner.new("e$B$“e(B”)  
ss.get\_byte  
ss.pos

e$B$NLa$jCM$rDj5A$G$-$J$$8B$j$I$3$+$KL7=b$r@8$8$k$H;W$$$^$9!#e(B

> e$B$?$@!“MxMQ\<T$NB&$+$i8+$k$H!”@55,I=8=$GJ8;zNs$C$]$/e(B  
> scane$B$5$;$k$/$;$K%$%s%G%C%/%9$O%P%$%H$+$h!"$H$+!"e(B  
> Stringe$B$r07$&$N$Ke(BString#[] e$B$H?t$($+$?$,0c$&E@$H$+!“e(B  
> e$B$=$&$$$&0cOB46$O$d$C$Q$j$”$k$h$&$J5$$,$7$^$9!#e(B

e$B$`$7$m!“e(BStringScannere$B$r;H$C$F$$$k$N$K%$%s%G%C%/%9$r;H$C$F$$$k$3e(B  
e$B$H$N$[$&$,!”%3!\<%I$N$^$:$5$r\<($7$F$$$k$h$&$J5$$,$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Akira\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Akira\_M](https://www.ruby-forum.com/u/Akira_M)\
**Post date:** [February 14, 2009, 6:54pm UTC](https://www.ruby-forum.com/t/feature-1159-stringscanner-b-kj8-z-y-9-g-n-s-g-c-9-rjv-9-a-c-i-7-b/160314/5 "2009-02-14T18:54:15Z")

</div>

e$B@.@%$G$9!#e(B

e$B\>\>EDe(B e$BL@e(B wrote:

> On 2009/02/14, at 21:22, NARUSE, Yui wrote:
> 
> > StringScanner#pos e$B$NJ8;z0LCV$X$NJQ99$Oe(B IO#pos e$B$H$NMm$\_$GFq$7$/!"e(B  
> > e$B$^$?!“e(BStringScanner#pos= e$B$de(B IO#pos= e$B$r;H$C$?8e$GJ8;z%$%s%G%C%/%9$re(B  
> > e$B:F;;=P$7$J$$$H$$$1$J$$$N$G!”$J$+$J$+Fq$7$$$h$&$K46$8$^$9!#e(B
> 
> e$B$J$k$[$I!#eFq$7$$$N$G$9$M!#e(B  
> IOe$B$H$NMm$\_$H$$$&$H$3$m$b$J$+$@$5$s$+$i$b;G$$$^$7$?!#e(B  
> e$B$@$C$?$i;EJ}$,$J$$$N$+$b$7$l$^$;$s!#e(B

e$B$D$^$k$H$3$m!"e(Bpos e$B$H$+$Oe(B IO e$B$N35G0$rF’=1$7$F$$$^$9!#e(B

> e$B$?$@!“MxMQ\<T$NB&$+$i8+$k$H!”@55,I=8=$GJ8;zNs$C$]$/e(B  
> scane$B$5$;$k$/$;$K%$%s%G%C%/%9$O%P%$%H$+$h!"$H$+!"e(B

e$B%$%s%G%C%/%9$C$Fe(B pos e$B$N$3$H$G$9$h$M!#e(B  
e$B$J$s$Ge(B pos  
e$B$r07$&I,MW$,$"$k$N$+$,$=$b$=$b$$$^$$$A$o$+$i$J$+$C$?$j$O$7$^$9!#e(B  
e$B%(%i!\<0LCV$NI=\<($H$+!)e(B

> Stringe$B$r07$&$N$Ke(BString#[] e$B$H?t$($+$?$,0c$&E@$H$+!"e(B

String#[] e$B$G$J$/e(B MatchData#[] e$B$rO"A[$9$k$Y$-$G$7$g$&!#e(B

> e$B$=$&$$$&0cOB46$O$d$C$Q$j$"$k$h$&$J5$$,$7$^$9!#e(B

StringScanner  
e$B$NA4%a%=%C%I$rGD0.$7$F$+$i9M$(D\>$9$H!"$=$N0cOB46$O8:$C$F$-$^$;$s$+$M!#e(B  
e$B$k$j$^$G$N5-=R$,$=$N$X$sB-$j$F$$$J$$5$$O$9$k$N$G!"$=$3$r=q$$$F$_$D$D!"e(B  
e$B=$@50F$r$^$H$a$F$_$k$N$b$h$$$N$G$O$J$$$G$7$g$&$+!#e(B
