我期待把字符 '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