Ruby 1.9
irb(main):001:0> ?c
=> "c"
Ruby 1.8.6
irb(main):001:0> ?c
=> 99
什么是“?”是什么意思?
答案 0 :(得分:9)
它表示“角色”。在ruby 1.8中,这是由角色的ascii代码表示的。在Ruby 1.9中,它是一个单字符String
。
答案 1 :(得分:7)
在1.8中,它们为您提供字符的ASCII值,在1.9中它们是字符文字:
>> RUBY_VERSION #=> "1.8.7"
>> ?a #=> 97
>> RUBY_VERSION #=> "1.9.2"
>> ?a #=> "a"
>> *[?a..?c] #=> ["a", "b", "c"]
答案 2 :(得分:-1)
ruby-1.9.2-p0 > ?c == "c"
=> true