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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...