演算子の優先順位について・演算子を再定義するRubyの演算子とその優先順位について解説を行い、既存の演算子を自分で再定義する方法も取り上げます。拓也Rubyガイド今回の記事ではRubyにおける演算子(operator)に着目し、演算子の種類、優先順位という概念、そして演算子を定義する方法について解説します。演算子式Rubyはモダンな言語に期待される大抵の演算子を備えています。以下に一覧を示します。演算子には優先順位が存在し(後述)、上にあるほど優先順位が高くなっています。解釈されていたように、並べて書いた時どちらの演算を先に行うか、あらかじめ定義しておくものです。カッコを付け計算順を明示することで、優先順位とは別の順番で計算させることができるのもすんなり納得できる話だと思います。一点、andとorについて補足しておきます。これらの演算子は、以下のようにそれぞれ&&、||と同じく論理AND、論理ORに相当します。andとorは可読性が高くてよさそうに見えるのですが、先に上げた表からわかる通り優先順位が低く、代入式やメソッド呼び出しと同じ行に書いたときの挙動が直感的に掴みづらいため個人的に利用をおすすめしません。以下の様な例が考えられます。&&とandで結果が異なっています。これは、andよりも代入演算子(=)の優先度が高いため、andの評価よりも先にboolにTが代入されてしまうためです。使って優先順位を明示してやるか、複数式に分割するほうが良いと思います。次のページでは、メソッドとして定義されている演算子と、それらの再定義について解説します。About公式SNS日々の生活や仕事を楽しむための情報を毎日お届けします。