什么是 ”?”在红宝石

时间:2011-03-25 17:22:38

标签: ruby

Ruby 1.9

irb(main):001:0> ?c
=> "c"

Ruby 1.8.6

 irb(main):001:0> ?c
 => 99

什么是“?”是什么意思?

3 个答案:

答案 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