ruby双重问号

前端之家收集整理的这篇文章主要介绍了ruby双重问号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > what is “?” in ruby3
我遇到这个ruby代码
str[-1]==??

什么是双重问号?从来没有见过.

解决方法

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]  # => "?"

猜你在找的Ruby相关文章