在Ruby中,puts如何工作?
我不明白在Ruby中,在Ruby中,puts如何工作?,ruby,irb,puts,Ruby,Irb,Puts,我不明白在Ruby中,put 124;是如何工作的。如果您键入一个变量,然后调用该语句 3 puts _|_ 您将获得变量名,后跟nil 3 => nil 但是,如果您再次键入,则返回false puts _|_ => false 它看起来不像是以美元符号开头的类似Perl的变量之一 这个奇怪的符号到底是什么意思?它是如何工作的?\uu是一个ruby特殊变量,用于获取前面表达式的结果 irb(main):030:0> 3 => 3 irb(main):031:0
put 124;
是如何工作的。如果您键入一个变量,然后调用该语句
3
puts _|_
您将获得变量名,后跟nil
3
=> nil
但是,如果您再次键入,则返回false
puts _|_
=> false
它看起来不像是以美元符号开头的类似Perl的变量之一
这个奇怪的符号到底是什么意思?它是如何工作的?
\uu
是一个ruby特殊变量,用于获取前面表达式的结果
irb(main):030:0> 3
=> 3
irb(main):031:0> _
=> 3
irb(main):032:0> _.to_s
=> "3"
irb(main):033:0> _
=> "3"
2.1.5 :001 > 100
=> 100
2.1.5 :002 > _
=> 100
名称以小写字母(A-z)或下划线(z)开头的ruby变量是局部变量或方法调用。未初始化的实例变量的值为nil
irb(main):001:0> _
=> nil
irb(main):002:0> _ | _
=> false
irb(main):003:0> nil | nil
=> false
控制台中的下划线(IRB或pry)表示上一个命令的结果。所以
3
=> 3
puts _|_
3
=> nil
在这里,上面的put
语句相当于
puts 3 <bit-wise or> 3
。。。在ruby
中,这是一个有效的标识符
在IRB
中
包含最后一个表达式的值
irb(main):030:0> 3
=> 3
irb(main):031:0> _
=> 3
irb(main):032:0> _.to_s
=> "3"
irb(main):033:0> _
=> "3"
2.1.5 :001 > 100
=> 100
2.1.5 :002 > _
=> 100
\
是一个ruby特殊变量,此变量存储上一个表达式/命令的输出,因此执行此操作时:
1.9.3-p0 :043 > 3
=> 3
“\”包含值3,因为上一个表达式的返回值为3。当您使用puts时,如下所示:
1.9.3-p0 :045 > puts _|_
3
=> nil
1.9.3-p0 :049 > _|_
=> false
其返回值为零。下次执行|时,如下所示:
1.9.3-p0 :045 > puts _|_
3
=> nil
1.9.3-p0 :049 > _|_
=> false
它返回false,因为它与下面的表达式相同:
1.9.3-p0 :050 > nil|nil
=> false
这就是puts返回false的原因