Ruby 1.9
irb(main):001:0> ?c
=> "c"
Ruby 1.8.6
irb(main):001:0> ?c
=> 99
“?”代表什么意思?
Ruby 1.9
irb(main):001:0> ?c
=> "c"
Ruby 1.8.6
irb(main):001:0> ?c
=> 99
这表示一个“字符”。在 Ruby 1.8 中,它是由字符的 ASCII 码表示的。而在 Ruby 1.9 中,它则是一个单字符的 String
。
>> RUBY_VERSION #=> "1.8.7"
>> ?a #=> 97
>> RUBY_VERSION #=> "1.9.2"
>> ?a #=> "a"
>> *[?a..?c] #=> ["a", "b", "c"]
ruby-1.9.2-p0 > ?c == "c"
=> true