Akira_M
1
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
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
Akira_M
2
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
Akira_M
3
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
Akira_M
4
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
Akira_M
5
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