Рубин 1.9
irb(main):001:0> ?c => "c"
Рубин 1.8.6
irb(main):001:0> ?c => 99
что значит "?" значит?
Обозначает «персонаж». В ruby 1.8 это было представлено ascii-кодом персонажа. В Ruby 1.9 это один символ String.
String
В 1.8 они дают вам значение ASCII символа, в 1.9 они - символьные литералы:
>> 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