在PHP中,这评估为true:
$a = 1
$b = 2
var_dump($a && $b); // true
Run Code Online (Sandbox Code Playgroud)
在ruby中,这评估为2:
a = 1
b = 2
p a && b # 2
Run Code Online (Sandbox Code Playgroud)
为什么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
Run Code Online (Sandbox Code Playgroud)
条件:while a_next = a.next && …