我刚刚将一个旧项目升级到 Ruby 1.9.3。我在使用 unicode 字符串时遇到了很多麻烦。它归结为:
p = "\\username"; "Any String".match(/#{p}/)
这适用于 1.8,并按预期返回 nil。但是,在 1.9 中它会抛出:
ArgumentError: invalid Unicode escape
我正在尝试匹配'\u'
字符串。我认为这两个反斜杠会将其从注册为 unicode 中逃脱。
我在这里想念什么?
编辑:单引号也不起作用:
1.9.3p429 :002 > p = '\\username'; "Any String".match(/#{p}/)
ArgumentError: invalid Unicode escape
from (irb):2