||奇怪的Ruby行为 和 &&

达雷姆克
def a
  puts 'a'
end

def b
  puts 'b'
end

p a || b #=> prints both 'a' and 'b' although it would only print a

p a && b #=> prints only a

这是怎么回事?我正在使用1.9.3

编辑:我忘了把零归零,现在,这是有道理的,这要归功于第一个答案:)

马尔·斯克里列夫

没什么奇怪的,因为:puts方法return nil&&operator的第二个参数没有被求值。但是,在第一种情况下,您都必须先同时调用:a,然后再调用:b,因为:amethod返回了nil

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ruby 奇怪的行为,整数#times 和 modulo

来自分类Dev

递归和Kernel#rand(Ruby)的奇怪行为

来自分类Dev

递归和Kernel#rand(Ruby)的奇怪行为

来自分类Dev

Ruby 条件和定义?操作员奇怪的行为

来自分类Dev

加入和的奇怪行为

来自分类Dev

OpenXml 和奇怪的行为

来自分类Dev

DateTime和DateTimeZone的奇怪行为

来自分类Dev

Camera和SurfaceView的奇怪行为

来自分类Dev

时区和SimpleDateFormat奇怪的行为

来自分类Dev

$ .clone()和$ .data()奇怪的行为

来自分类Dev

查找和du的奇怪行为

来自分类Dev

systimestamp和sysdate的奇怪行为

来自分类Dev

Camera和SurfaceView的奇怪行为

来自分类Dev

$ .clone()和$ .data()奇怪的行为

来自分类Dev

strpos和Ø的奇怪行为

来自分类Dev

奇怪的printf和scanf行为

来自分类Dev

gluPerspective和gluLookAt的奇怪行为

来自分类Dev

ASLR 和 VirtualAlloc 的奇怪行为

来自分类Dev

TextView 和 ListView 的奇怪行为

来自分类Dev

momentjs-奇怪的行为与startOf和endOf

来自分类Dev

Python:和/或运算符奇怪的行为

来自分类Dev

C ++ float和int除法奇怪的行为

来自分类Dev

WordPress的WPDB和MySQL的奇怪的行为

来自分类Dev

CSS中奇怪的反斜杠和行为

来自分类Dev

parseInt和负零在javascript:奇怪的行为?

来自分类Dev

动作编号加和减奇怪的行为

来自分类Dev

StreamReader和EBCDIC的奇怪行为:为什么?

来自分类Dev

奇怪的行为:pcolormesh和meshgrid(简单)

来自分类Dev

MatchCollection和Regex匹配奇怪的行为