🦁

三項演算子

に公開

三項演算子は、条件に基づいて2つの異なる値または式のいずれかを選択するために使用される演算子です

この演算子は、if-else文の簡潔な代替として機能し、コードをより短く、読みやすくすることができます。

三項演算子の基本的な構文は次のとおりです

条件(スペース)? 真の式(スペース):(スペース)偽の式

ここで、条件は真偽値を返す任意の式であり、真の場合の式は条件が真(true)の場合に評価される式、
偽の場合の式は条件が偽(false)の場合に評価される式です。

<%= board.user.is_active ? "#{board.user.username}より" : "退会済です" %>

この例では、board.user.is_activeがtrueまたはfalseを返す条件式です。

この式がtrueの場合、つまりユーザーがアクティブな状態であれば、
board.user.usernameを使用してユーザー名を表示し、その後に"より"という文字列を追加します。

一方、board.user.is_activeがfalseの場合、
つまりユーザーが退会している場合は、"退会済です"という文字列が表示されます。

if文で記載すると、

<% if board.user.is_active %>
  <%= "#{board.user.username}より" %>
<% else %>
  <%= "退会済です" %>
<% end %>

となるため、三項演算子を使用すると、短くスッキリと記載ができます。

注意として、
条件が複雑になる場合や、読みやすさを最優先する場合は、if-else文を使用する方が適切な場合もあります。

場合によって選択してください

Discussion