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 回答