rubyのメソッド疑問府の利点
自分の備忘録として書きます。
rubyでは疑問符でメソッドを作成することができます。
他の言語で疑問符を使うのは、三項演算子の時だけ使えます。(違ったら教えてください)
他の言語で疑問符を使うのは、三項演算子で使うのが一般的です。(Schemaは疑問符使えます)
ちなみに、三項演算子は下記のようなものですね。
num = 0 p msg = num == 0 ? 'yes' : 'no'
本題です。
疑問府の使われ方として、次のように書かれています。
慣用的に、真偽値を返すタイプのメソッドを示すために使われます。
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (Ruby 2.3.0)
メソッド名?で真偽値を求めることにより、可読性のあるコードがかけるということです。
railsだとこういうのですね。
def admin_user?
redirect_to root_path unless current_user.admin?
end
def admin_user? current_user.admin? end
これは管理者の真偽値を確かめて、管理者でなければroot_pathに戻すというメソッドです。
管理者かどうかを知るメソッドになります。
疑問符を使用することで、可読性のあるコードが書けるようになります。
rubyのすごい部分だなと改めて実感しました。