我今天遇到了一个使用?
运算符引用下一个字符的代码段。我不知道该方法的文档在哪里,也真的不知道它的实际作用。
我看过ruby文档,但没有找到。
?1
=> "1"
?1"23abc"
=> "123abc"
答案 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"