return if ~ というコードをよく見るので調べてみたのでメモ。
早期リターンとは
・ifのネストを深くしたり、else句を使うのを避けるためのテクニック
・条件を満たしたときに、すぐにreturnさせることによって後ろに影響を及ぼさない。
普通のif文
test.rb
def sample
if hoge
# hoge が nil でないときの処理
else
return
end
end
hogeがnilの時は、else returnとなる、つまり処理が実行されないことが分かる。
早期リターンで書いてみる
test.rb
def sample
if hoge == nil
return
end
# hoge が nil でないときの処理
end
または
def sample
return if hoge == nil
# hoge が nil でないときの処理
end
状況に応じて使うことでコードが見やすくなる。