1
0

More than 1 year has passed since last update.

三項演算子で変数を定義する

Posted at

はじめに

三項演算子で変数を扱う機会があったので、記事にしました。
サンプルコードでは、admin権限の有無でメッセージ内容を変更させます。

三項演算子とは

三項演算子を使うことで、if文のコード量を減らすことができます。

if文
if user.admin?
  "Hello"
else
  "Hi!"
end
三項演算子
user.admin? ? "Hello" : "Hi!"

複雑すぎるif文は三項演算子に向いていません。かえって可読性が低くなります。

変数ver

一応、if文も記述しておきます。

if user.admin?
  message = "Hello"
else
  message = "Hi!"
end

最初に試した三項演算子。

user.admin? ? message = "Hello" : message = "Hi!"

変数の重複が気になるので以下のように修正しました。

message = user.admin? ? "Hello" : "Hi!"

あとがき

三項演算子に限った話ではありませんが、リファクタリングの目的は、便利メソッドを使うことではありません。可読性の高いコードを実現させることが目的です。便利メソッドを使うだけで満足するのは注意が必要です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0