7

このコードを機能させようとしています(ruby 1.8.7):

line = "abc" 
"#{line}☃".encode('utf-8')[0..-2].scan(/\p{Katakana}/)

しかし、それは戻りますundefined method 'encode' for "abc\342\230\203":String (NoMethodError)

ここでプログラムを実行できます: http://codepad.org/nh6cAqHT

4

1 に答える 1

10

古いバージョンの ruby​​ を使用している可能性があります。1.9.3 では使用できますが 、1.8.7では使用できないため、使用しているバージョンを確認してください。

1.9.3p194 :001 > line = "abc"
 => "abc" 
1.9.3p194 :002 > "#{line}☃".encode('utf-8')[0..-2].scan(/\p{Katakana}/)
 => [] 

正常に動作します。

于 2012-10-27T20:51:44.980 に答える