我正在尝试使此代码正常工作(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
我正在尝试使此代码正常工作(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
您可能正在使用旧版本的 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}/)
=> []
工作正常。