From: Kazuhiro NISHIYAMA Date: 2008-02-22T02:51:58+09:00 Subject: [ruby-dev:33895] empty_string.ascii_only? 西山和広です。 空文字列の ascii_only? が false になることがあるのは 意図しているのでしょうか? % ruby-trunk -ve 'p(("\u3042"*0).ascii_only?)' ruby 1.9.0 (2008-02-20 revision 15565) [i686-linux] false % ruby-trunk -ve 'p(("\u3042"[0,0]).ascii_only?)' ruby 1.9.0 (2008-02-20 revision 15565) [i686-linux] false % それから、encodingがUTF-8でascii_only?がfalseな空文字列と EUC-JPなどのencodingの文字列が連結できないようです。 EUC-JPなどのencodingの文字列が空文字列だと連結できるようです。 % ruby-trunk -ve '"\u3042".encode("euc-jp")+"".encode("utf-8")' ruby 1.9.0 (2008-02-20 revision 15565) [i686-linux] -e:1: warning: useless use of + in void context % ruby-trunk -ve '"\u3042".encode("euc-jp")+"\u3042"*0' ruby 1.9.0 (2008-02-20 revision 15565) [i686-linux] -e:1: warning: useless use of + in void context -e:1:in `
': character encodings differ: EUC-JP and UTF-8 (ArgumentError) % ruby-trunk -ve '"\u3042".encode("euc-jp")*0+"\u3042"' ruby 1.9.0 (2008-02-20 revision 15565) [i686-linux] -e:1: warning: useless use of + in void context % ruby-trunk -ve '"\u3042"*0+"\u3042".encode("euc-jp")' ruby 1.9.0 (2008-02-20 revision 15565) [i686-linux] -e:1: warning: useless use of + in void context -e:1:in `
': character encodings differ: UTF-8 and EUC-JP (ArgumentError) % ruby-trunk -ve '"\u3042"+"\u3042".encode("euc-jp")*0' ruby 1.9.0 (2008-02-20 revision 15565) [i686-linux] -e:1: warning: useless use of + in void context % -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)