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 3 years have passed since last update.

nilガードについて理解してみた

Posted at

Rubyの勉強をしているなかでnilガードというものがでてきたので勉強の記録用として記事にしてみました。

認識違いがあった場合などは是非ご指摘下さい。

#nilガード
Rubyにはnilになってしまう状態を防ぐためにnilガードという書き方が存在します。簡単に説明すると仮に変数がnilだった場合には値を入れるということです。

ということで分かりやすく下記に例を記載したいと思います。

# 例1
> number = nil
> number ||= 6
> puts number
=> 6

# 例2
> number = 5
> number ||= 6
> puts number
=> 5

初めにnilガードを実装するにパイプ演算子||と=を組み合わせます。
例1ではnumberがnilなら6を代入しています。しかし例2ではnumberがnilではないので代入が行われていません。ここでnilガードというものはnilかfalseでないと代入が行われないと分かりました。

#まとめ
nilガードは変数にnilが入っているかもしれない状況でnilの代わりに何らかのデフォルト値を入れておきたいという場面で、とても便利に利用できます。

#参考
・ 現場で使える Ruby on rails 5 速習実践ガイド
https://www.sejuku.net/blog/19044

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?