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
文字列を使用すると警告が発生するのはなぜですか? または、より良い質問かもしれませんが、配列を使用しても警告が発生しないのはなぜですか?