Чтобы писать более кратко, а не делать это:
test_value = method_call_that_might_return_nil()
if test_value
do_something_with test_value
end
Я назначил в условном выражении
if test_value = method_call_that_might_return_nil()
do_something_with test_value
end
Это плохой стиль? Еще более сжатый синтаксис:
do_something_with test_value if test_value = method_call_that_might_return_nil()
не разрешено, как обсуждалось в другом вопросе SO, и останется таким же в 1.9, согласно Matz (http://redmine.ruby-lang.org/issues/show/1141).
Учитывая возможную путаницу присвоения и сравнения, делает ли это слишком трудным для чтения код?