LoginSignup
0
0

More than 3 years have passed since last update.

【Ruby】ifのない条件式の?(クエスチョンマーク)の意味。三項演算子の使い方。

Posted at

個人メモです。

以下のように、ifがなく、?(はてな)と:(コロン)が記述された式の意味を理解する。

x = y == "aaa" ? v : w

三項演算子

?(はてな)と:(コロン)を使った式は、if else文の省略形で三項演算子と呼ぶ。

以下の2つの処理は同じものとなる。

通常
if 条件式
  戻り値1
else
  戻り値1
end
三項演算子
条件式 ? 戻り値1 : 戻り値2

(1)条件式、(2)戻り値1、(3)戻り値2の3つの項目があるため、三項演算子と呼ぶ。


参考演算子の実例

条件式がtrueの場合は戻り値1が返る。

x = 10
x == 10 ? "Yes" : "No"

=> "Yes"

条件式がfalseの場合は戻り値2が返る。

x = 10
x != 10 ? "Yes" : "No"

=> "No"


x = y == "aaa" ? v : wの処理内容

これは、三項演算子の結果を変数xに代入する処理となる。

y = "aaa"
v = "Yes"
w = "No"

x = y == "aaa" ? v : w

p x
=> "Yes"

y == "aaa"がtrueなので前方の戻り値vxに代入する。

0
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
0
0