在PHP中,这将被评估为
在 Ruby 中,这个表达式的值为
条件:
true
:$a = 1
$b = 2
var_dump($a && $b); // true
在 Ruby 中,这个表达式的值为
2
。a = 1
b = 2
p a && b # 2
为什么Ruby会返回最后一个语句的值(当第一个和第二个语句都为真时),而不是返回布尔值?
我有两个数组,我使用外部迭代器对它们进行迭代:
a = [1,2,3].to_enum
b = [5,6,7].to_enum
c = []
begin
while a_next = a.next && b_next = b.next
result = a_next + b_next
p "a[x] + b[x] = c[x] = #{a_next} + #{b_next} = #{result}"
c << result
end
rescue
p c
end
条件:
while a_next = a.next && b_next = b.next
设置 a_next = b_next
。当我把两个&&
操作符括起来时,它按预期工作:(a_next = a.next) && (b_next = b.next)
。