e$B$O$8$a$^$7$F!#J!ED$H?=$7$^$9!#e(B
sub/gsube$B$N5sF0$G!“e(B
'e$B!!”!!e(B\’
e$B$H$$$&CV49$r$7$h$&$H$7$?>l9g$N5sF0$K$D$$$F$G$9!#2<5-$NF0:n$O0U?^E$J$b$N$G$7$g$&$+!)e(B
’
e$B!J%7%s%0%k%/%)!<%H!K0J30$b!“5/$3$kJ8;z$H5/$3$i$J$$J8;z$,$”$k$h$&$G$9!#e(B
e$BLVMeE*$K;n$7$?$o$1$G$O$J$$$G$9$,!"e(B’&
e$B$J$I$G$O5/$3$j!“e(B$#e$B$J$I$G$O5/$3$j$^$;$s!#e(B
sub/gsub, 1.8/1.9e$B!”$NA4$F$G6&DL$N$h$&$G$9!#e(B
$ ./ruby -v
ruby 1.9.0 (2008-05-16 revision 0) [i686-linux]
$ ./ruby
p “a”.sub(/a/, “\a”)
p “’”.sub(/’/, “\’”) # <–e$B!)e(B
p “‘foo’”.sub(/’/, “\’”) # <-- ?
p “‘foo’”.sub(/’/, “\’”) # <-- ?
p “a”.sub(/a/) { |m| “\a” }
p “’”.sub(/’/) { |m| “\’” } #
e$B%V%m%C%/$N>l9g$O0c$&5sF0e(B(e$B$3$A$i$,K\Mh!&!&!&e(B??e$B!Ke(B
p “‘foo’”.sub(/’/) { |m| “\’” }
p “‘foo’”.sub(/’/) { |m| “\’” }
==>
“\a”
“”
“foo’foo’”
“foo’foo’”
“\a”
“\’”
“\‘foo’”
“\‘foo’”
$ ./ruby -v
ruby 1.8.7 (2008-05-16 patchlevel 5000) [i686-linux]
p “a”.sub(/a/, “\a”)
p “’”.sub(/’/, “\’”)
p “‘foo’”.sub(/’/, “\’”)
p “‘foo’”.sub(/’/, “\’”)
p “a”.sub(/a/) { |m| “\a” }
p “’”.sub(/’/) { |m| “\’” }
p “‘foo’”.sub(/’/) { |m| “\’” }
p “‘foo’”.sub(/’/) { |m| “\’” }
==>
“\a”
“”
“foo’foo’”
“foo’foo’”
“\a”
“\’”
“\‘foo’”
“\‘foo’”