{category}

Ruby - 代入

||=

だぶるばーいこーる(演算子

意味 論理和代入演算子


||=とは?

||= は論理和代入演算子です。左辺の値がnilまたはfalseの場合にのみ、右辺の値を左辺に代入します。変数の初期化や既定値の設定によく使われます。

||=の具体的な使い方

変数の初期化と既存値の保護

# 未初期化の変数に値を設定
a = nil
a ||= 10
puts "aの値: #{a}"

# 既に値が設定されている変数
b = 5
b ||= 20
puts "bの値: #{b}"

# falseの場合も代入される
c = false
c ||= 'デフォルト値'
puts "cの値: #{c}"

# 空文字列は代入されない
d = ''
d ||= '新しい値'
puts "dの値: #{d}"

👇出力結果

aの値: 10
bの値: 5
cの値: デフォルト値
dの値: 

||=演算子を使用して、変数の初期化と既存値の保護を行います。nilやfalseの場合は新しい値が代入されますが、既に値が設定されている場合(空文字列も含む)は代入されません。

ハッシュでのデフォルト値設定

preferences = {}

# ユーザーの好みを設定
preferences[:color] ||= 'blue'
preferences[:size] ||= 'medium'

# 既存の設定を上書きしない
preferences[:color] ||= 'red'

puts "色の設定: #{preferences[:color]}"
puts "サイズの設定: #{preferences[:size]}"

# 存在しないキーにアクセス
puts "存在しない設定: #{preferences[:nonexistent] ||= 'デフォルト値'}"

👇出力結果

色の設定: blue
サイズの設定: medium
存在しない設定: デフォルト値

ハッシュでデフォルト値を設定する例です。存在しないキーに対して||=を使用すると、デフォルト値を設定できます。既に値が設定されているキーに対しては、既存の値が保護されます。

||=に関するよくある質問

Q. ||=演算子は何を意味しますか?
A. ||=は論理和代入演算子です。左辺の値がnilまたはfalseの場合にのみ、右辺の値を左辺に代入します。
Q. ||=はどんな時に使いますか?
A. 変数の初期化や、メソッドのデフォルト引数の設定、既定値の設定などによく使われます。値が未設定の場合にのみ値を割り当てたい時に便利です。
Q. ||=と=の違いは何ですか?
A. =は常に右辺の値を左辺に代入しますが、||=は左辺がnilまたはfalseの場合にのみ代入します。既に値が設定されている場合、||=は何もしません。
Q. falseの場合も代入されますか?
A. はい、左辺がfalseの場合も右辺の値が代入されます。これは、falseもnilと同様に「偽」とみなされるためです。

||=が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyの||=や<<、?:、..、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

<<

左シフト演算子

種類: ビット演算

?:

条件演算子

種類: 制御構造

..

範囲を作成する演算子

種類: 範囲

reject

条件に合わない要素を選択

種類: イテレーションとEnumerator

all?

全ての要素が条件を満たすか確認

種類: イテレーションとEnumerator