出于向后兼容的原因,我想实现String#codepoints
的ruby方法(在1.9.1
中引入)。
我在想
def codepoints(str)
str.split('').map(&:ord)
end
但是我担心#ord
在红宝石的早期版本中无法正常工作。
答案 0 :(得分:1)
ord
是Ruby 1.9.1中引入的,请参见APIDock。
对于ASCII字符串,您可以使用#bytes
,对于Unicode it won't behave in the same way as #codepoints
。
在Ruby 1.8.x中,您可以使用?
来获取char数值,我不知道1.9.0应该使用什么。
不再支持2.3以上的红宝石,请考虑升级。