Rubyの変数&(アンパサンド) の意味について

Rubyの変数&(アンパサンド)の意味について。

変数&ってなにそれって思いますよね。

 

以下の例文です。

a = "test"
a&.upcase # => "TEST"

b = nil 
b&.upcase # => nil

どういうこと・?ですよね。

 

&(アンパサンド)意味は、

nilではない場合はその結果を返し、nilの場合はnilを返します。

 

1行で済むのでめちゃくちゃ便利ですね!

簡潔に書いていけるかと思うので、どんどん活用していきたいですね!

 

何か参考になれば幸いです(*^^*)