我使用 ruby 1.9.3-p194 收到以下代码的警告
if (x = true)
puts 'it worked'
end
# => warning: found = in conditional, should be ==
但是,如果我分配一个数组,则没有警告
if (x = [true])
puts 'it worked'
end
# => 'it worked', then returns nil since return of 'puts' is nil
为什么使用字符串会导致警告?或者也许是一个更好的问题,为什么使用数组不会引起警告?