红宝石是什么?方法吗?

时间:2019-06-10 18:24:37

标签: ruby

我今天遇到了一个使用?运算符引用下一个字符的代码段。我不知道该方法的文档在哪里,也真的不知道它的实际作用。

我看过ruby文档,但没有找到。

?1

=> "1"

?1"23abc"

=> "123abc"

1 个答案:

答案 0 :(得分:4)

?在这种情况下不是一种方法,而是一种可解析的语法。 ?是上下文中的字符文字

Docs摘录:

  

还有一个用于表示单个字符串的字符文字表示法,其语法是问号(?),后跟与脚本编码中的单个代码点相对应的单个字符或转义序列:

?a       #=> "a"
?abc     #=> SyntaxError
?\n      #=> "\n"
?\s      #=> " "
?\\      #=> "\\"
?\u{41}  #=> "A"
?\C-a    #=> "\x01"
?\M-a    #=> "\xE1"
?\M-\C-a #=> "\x81"
?\C-\M-a #=> "\x81", same as above
?あ      #=> "あ"

您还发现了解析器的另一个有趣的小机制,即2个字符串可以通过简单地并排放置(带有或不带有空格)来串联在一起。例如

"1" "234" 
#=> "1234"
"1""234"
#=> "1234"