我puts _|_对Ruby的工作原理感到困惑.如果键入变量然后调用该语句
3
puts _|_
Run Code Online (Sandbox Code Playgroud)
你得到变量的名称后跟nil
3
=> nil
Run Code Online (Sandbox Code Playgroud)
但是,如果再次输入,则会出现错误
puts _|_
=> false
Run Code Online (Sandbox Code Playgroud)
它似乎不像以美元符号开头的Perl类变量之一.
这个奇怪的符号在世界上是什么意思,它是如何运作的?
控制台中的下划线(IRB或pry)代表上一个命令的结果.所以
3
=> 3
puts _|_
3
=> nil
Run Code Online (Sandbox Code Playgroud)
这里的上述puts陈述等同于
puts 3 <bit-wise or> 3
Run Code Online (Sandbox Code Playgroud)
这puts 3|3等于puts 3.
因为puts返回nil,当你重复puts _|_它时就变成了
puts nil|nil
Run Code Online (Sandbox Code Playgroud)
......是的puts false.