条件演算子(三項演算子)
? と : は、条件演算子(ternary operator)と呼ばれるもので、Rubyの中で条件分岐を行うための構文です。具体的には、? は条件式を表し、: は条件が true の場合と false の場合のそれぞれの結果を区別するために使います。
以下は、条件演算子の基本的な構文です。
条件式 ? 条件がtrueの場合の結果 : 条件がfalseの場合の結果
この構文を使って、条件に応じて異なる値を返すことができます。条件が true の場合は ? の左側の値が返され、false の場合は : の右側の値が返されます。
具体的な例を見てみましょう。
user_signed_in? ? new_item_path : new_user_session_path
このコードは、user_signed_in? メソッドが true を返す場合は new_item_path、それ以外の場合は new_user_session_path を返します。このように、条件に応じて異なる値を返すことができます。
以上、Chat GPTの回答よりメモ。