Ruby 1.8具有
一个?-prefix语法,将
一个字符转换成其ASCII
代码值.例如,?a是字母a(或97)的ASCII值.你看到的双重问号实际上只是数字63(或ASCII值为?).
?a # => 97
?b # => 98
?c # => 99
?\n # => 10
?? # => 63
要转换回来,可以使用chr方法:
97.chr # => "a"
10.chr # => "\n"
63.chr # => "?"
??.chr # => "?"
在Ruby 1.9中,?语法返回字符本身(字符串的方括号语法):
?? # => "?"
"What?"[-1] # => "?"