e$B@.@%$G$9!#e(B
Ruby M17N
e$B2q5D$re(B2008e$BG/e(B2e$B7ne(B15e$BF|$K9T$C$?$N$G$9$,!"$=$N%m%0$rE>:$7$F$*$-$^$9!#e(B
== cgi.rb e$B8e7Q$N8xJg$K$D$$$Fe(B
e$B>r7o$O0J2<$NDL$je(B
- e$BL>A0e(B e$B$Oe(B cgi.rb e$B0J30$G$"$k$3$He(B
- MVCe$B$NJ,N%$r9T$C$F$$$k$3$He(B
== String#gsub(regexp, hash)
String#gsub(regexp, {“ä”=>"\u00C4", …}) e$B$H$$$&I=5-$r9T$$$?$$e(B
e$B"*:NMQe(B
== replicae$B$N=PE5Ey$N>pJs$re(B
e$B"*=q$/e(B
== CP949e$B$He(BGBKe$B$N0c$$e(B
e$B"*e(BCP949e$B$OJ,N%e(B
== e$B6uJ8;ze(B e$B$He(B UTF-16 e$B$r7k9g$9$k>l9g$K$D$$$Fe(B
e$B6uJ8;z$Oe(B ASCII Compatible
e$B$G$J$$J8;zNs$H$b7k9g2DG=$K$7$F$O$I$&$+e(B
e$B"*:NMQe(B
== String#lengthe$B$de(BString#ate$B$,CY$$e(B
search_nonasciie$B$r;H$C$F9bB.2=e(B
VALIDe$B$Je(BUTF-8e$B$N>l9g$O$5$i$K9bB.2=e(B
== String#getbyte, String#setbyte
e$B"*:NMQe(B
== Indexer
e$B"*J]N1e(B
== inspect e$B$K$D$$$Fe(B
e$B0J2<$NJ}8~$G8!F$e(B
- obj.inspect_acumulate(enc) e$B$r?7@_e(B
== strftime e$B$NJ}8~@-$K$D$$$Fe(B
strftime e$B$Oe(B locale
e$BHs0MB8!"0MB8$N$b$N$,I,MW$=$&$J$i$PJL$KDI2C$9$ke(B
== require_relative e$B$NF3F~$K$D$$$Fe(B
require_relative e$B$r8F$s$@%U%!%$%k$+$i$NAjBP%Q%9$Ge(B require
e$B$9$k!#e(B
e$B"*:NMQe(B
== IO.copy_stream
IO.copy_stream(filename, filename) e$B$de(B IO.copy_stream(stream,
stream) e$BEy$G!"e(B
e$B%U%!%$%k$d%9%H%j!<%$r%3%T!<$9$k!#e(B e$B$J$*!"%U%!%$%kL>$rM?$($i$l$?>l9g$O%7%9%F%
%3!<%k$r8F$V$?$a!“e(B
Rubye$B$OJL$N$3$H$r$G$-$k!#e(B
e$B”*L>A0$K$D$$$FMW8!F$e(B
== Hash#compare_by_identitye$B$,HyL/$J7oe(B
Hash#compared_by(:equal?, :obj_id)e$B$KJQ99$7$?$$e(B
e$B"*:NMQe(B
e$B"*e(BHash#identifed_bye$B$NJ}$,$$$$$+$be(B[ruby-dev:33817]
== Unicode Normalization
APIe$B$O0J2<$"$?$j!#e(B
- String#encode(“utf-8 nfc”)
- String#normalize(“nfc”)
- Encoding::UTF_8.nfc(str)
open(fn, “r:utf-8”, …)
e$B$"$?$j$G!"@55,2=$7$J$,$iFI$_9~$`Ey$N=hM}$r$7$?e(B
e$B$$$N$G!"e(B
e$B$=$l8~$1$N5-K!$b8!F$e(B