我期待把字符 'a' 到97红宝石1.9.2红宝石中字符的整数值?
的Ruby 1.8.7
irb(main):001:0> ?a
=> 97
的Ruby 1.9.2
irb(main):001:0> ?a
=> "a"
我期待把字符 'a' 到97红宝石1.9.2红宝石中字符的整数值?
的Ruby 1.8.7
irb(main):001:0> ?a
=> 97
的Ruby 1.9.2
irb(main):001:0> ?a
=> "a"
?a
将返回ASCII字符的值a
可悲的是,将无法正常工作一样作为Ruby 1.9之前的版本。请参阅http://eigenclass.org/hiki/Changes+in+Ruby+1.9#l16 – Zabba 2010-11-06 01:07:43
''a''会将最接近的东西返回到Ruby所拥有的'char'类型,它在Ruby 1.9中是一个单字符'String '在Ruby 1.9之前是'Fixnum'。 'String#ord'(和它的双重'Integer#chr')就是你想要使用的。 – 2010-11-06 09:08:34
注意,如果你想编写代码,并与兼容两种的Ruby 1.8和Ruby 1.9,您可能需要使用String#each_byte
这样的:
$ irb
>> 'a'.each_byte.first
=> 97
我与1.8卡住,这很好。 – 2014-04-28 01:15:28
对于那些谁正在寻找对面的ord
。我们有chr
>> "A".ord
=> 65
>> 65.chr
=> "A"
此链接将有助于在1.9还包括其他变化:“C” http://eigenclass.org/hiki/Changes+in+Ruby+1.9#l16 – Zabba 2010-11-06 01:07:22