0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rubyの自己代入(||=)について

Last updated at Posted at 2022-02-08

実務をこなしていく中で、自己代入を使ったコードをよく見るので、それを解説していきます。

例えばこんなコードです。

a = 'hoge'
b ||= 'fuga'
b
=> "fuga"

このコードでは自己代入が使われています。この自己代入とは
左辺の変数が、nilもしくはfalseのとき||=の右辺にある値を代入するという意味です。
上記のコードでいえば、変数bがnilもしくはfalseのときfugaという文字列を変数bに入れてくださいね、という意味になります。
変数bはそれに当てはまるので、bにはfugaという文字列が入ります。

下記のようなコードを書いて見ましょう

a = 'hoge'
a ||= 'fuga'
a
=> "hoge"

上記のコードでは、aはfalseでもnilでもないのでfugaはaに代入されません。

a ||= 10

上記のコードは、

a = a || 10

このように論理演算子で考えると分かりやすいとおもいます。論理演算子の理解があやふやな方は、こちらの記事を参照してみてください。

以上です。何か間違いがございましたら、ご教示いただけますと幸いです。

【参考資料】

0
0
2

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?