From: Kouya Date: 2008-10-05T15:20:39+09:00 Subject: [ruby-list:45533] strscanのgetchのサンプルスクリプトでエラーがでる。 ------=_Part_26470_20257102.1223187731512 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Content-Disposition: inline こんにちは、kouya です。 strscanのリファレンスマニュアルを書いています。 添付したサンプルがruby 1.9 では動かないのですが、 1.9では何か変更する必要があるのでしょうか。 よろしくお願いします。 サンプル require 'strscan' $KCODE = "e" s = StringScanner.new("るびい") # 文字コードはEUC-JPとします $KCODE = 'n' # 単なるバイト列として認識されます p s.getch # => "\244" p s.getch # => "\353" $KCODE = "e" # EUC-JPの文字列として認識されます p s.getch # => "び" p s.getch # => "い" p s.getch # => nil 以下出力 ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.0] "\244" "\353" "び" "い" nil ruby 1.9.0 (2008-10-05 revision 18293) [i386-darwin9.5.0] s1_euc.rb:5: invalid multibyte char (US-ASCII) s1_euc.rb:5: invalid multibyte char (US-ASCII) s1_euc.rb:5: syntax error, unexpected $end, expecting ')' s = StringScanner.new("るびい") # 文字コードはEUC-JPとします ^ -- kouya ------=_Part_26470_20257102.1223187731512 Content-Type: text/x-ruby-script; name=s1_euc.rb Content-Transfer-Encoding: base64 X-Attachment-Id: f_flxa9h0y0 Content-Disposition: attachment; filename=s1_euc.rb CnJlcXVpcmUgJ3N0cnNjYW4nCgogICAgICAkS0NPREUgPSAiZSIKICAgICAgcyA9IFN0cmluZ1Nj YW5uZXIubmV3KCKk66TTpKQiKSAjIMq4u/qls6G8pcmkz0VVQy1KUKTIpLek3qS5CiAgICAgICRL Q09ERSA9ICduJyAgICAgICAgICAgICAgICAgICAgIyDDsaTKpOul0KWkpcjO86TIpLekxsenvLGk taTspN6kuQpwICAgICAgcy5nZXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAjID0+ICJcMjQ0 IgpwICAgICAgcy5nZXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAjID0+ICJcMzUzIgogICAg ICAkS0NPREUgPSAiZSIgICAgICAgICAgICAgICAgICAgICMgRVVDLUpQpM7KuLv6zvOkyKS3pMbH p7yxpLWk7KTepLkKcCAgICAgIHMuZ2V0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgIyA9PiAi pNMiCnAgICAgICBzLmdldGNoICAgICAgICAgICAgICAgICAgICAgICAgICMgPT4gIqSkIgpwICAg ICAgcy5nZXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAjID0+IG5pbAoKCg== ------=_Part_26470_20257102.1223187731512--