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のすごい部分だなと改めて実感しました。