LoginSignup
0
0

More than 1 year has passed since last update.

【Ruby】早期return

Posted at

早期リターン

式の値を戻り値としてメソッドの実行を終了。式が省略された場合には nil を戻り値とする。
条件分岐のネストが深くなりすぎてコードを読みにくくなってしまうときに使用すると可読性が高まる。
「Guard Clause」「ガード節」「ガード条件」「ガード構文」と呼ばれることもある。

def invalid_permission?(user)
  if user.present?  #<= この例外処理はGuard Clauseで書き直せる
    case user.permission
    when 1,2,3
      false
    else
      true
    end
  else
    true
  end
end
def invalid_permission?(user)
  return true if user.blank? #<= この1行で例外チェックをネストなしで完了できる

  case user.permission
  when 1,2,3
    false
  else
    true
  end
end

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0