为了写得更简洁,而不是这样做:
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()
根据Matz(http://redmine.ruby-lang.org/issues/show/1141)的说法,如第in another SO question条所述,是不允许的,并将在第1.9条中保持这种状态.
考虑到赋值和比较可能存在的混乱,这是否会使阅读代码变得太困难?