私はnil
または非nil
いずれかの値を返す関数を持っている、と私は、次のif
でそれを使用する - else
句:'elsif'ブランチで関数を何度も呼び出さないようにする方法はありますか?
if condition_that_doesnt_involve_my_func
# do stuff
elsif my_func(cur_line)
headers_found = my_func(cur_line)
end
私はそれが二度関数を呼び出すため、上記のブロックは多少無駄であると感じ分岐結果がnil
と評価された場合は、結果を1回だけ保存してから次の節で使用することができます。
私は関数を1回呼び出すようにこれを書き換える方法はありますか?
elsif headers_found = my_func(cur_line)
私はお勧めしませんとRubocopはどちらかそれを好きではない:
値が真である場合、または偽の値をheaders_foundに割り当てても問題ない場合は、戻り値を割り当てたいですか? – spickermann