nilガードって何?

Rubyにはnilガードなるものが存在する。

それが何なのかというと、、

 

 

 

 

 

 

 

 

 

 

 

 

 

nilをガードするもの。。

 

 

 

 

それが結局何だというところだと思いますので、簡単にご説明を。。

 

 

 

例えば@sumというインスタンス変数を設定するとして、@sumに該当する数値がない状況(nilが返ってしまう)の時、

エラーが出るのを防ぐことができるのが、nilガードです。

具体例を用いて説明します。

 

 

@sum | | = 10

@sum | |  (@sum = 10 )

 

上の二つの記述は同じ意味を示しており、

@sumに該当するものが存在する(@sumが真)の時、@sumを

@sumに該当するものがない状況(@sumが偽、つまりfalseもしくはnil)であれば@sumに10を代入する

 

という意味になります。

 

 

変数にnilが入っているかもしれない状況で、あらかじめデフォルトの値を設定しておくことができる便利な機能です。

 

 

開発における具体的な使用例としては、

カレンダーに日付に対して、該当の変数を表示する場合等に、

該当のものがなくても、nilが返るのを防ぐことができます。

 

 

 

 

いまいちピンとこない方もいらっしゃると思いますが、個人開発等を進めていくと、nilが返り、エラーとなることが発生することがあると思いますので、そんな時に「そういえばnilガードという機能があった気がする」と、思い出していただき、その時に改めて、学習するのが良いかと思います。

 

実際に自分の開発で使用することが、一番のスキル定着につながると思いますので、自分も積極的に手を動かしていきたいと思います。

 

 

 

以上