Techioz Blog

&. とはどういう意味ですか? (アンパサンドドット) Ruby での意味は?

概要

この行の Ruby コードを見つけました。 &. とはどういう意味ですか?これってどういう意味ですか?

@object&.method

解決策

これはセーフ ナビゲーション オペレーターと呼ばれます。 Ruby 2.3.0で導入されたこのメソッドを使用すると、Railsのtryメソッドと同様に、オブジェクトがnilである可能性を気にせずにオブジェクトのメソッドを呼び出すことができます(nil:NilClassエラーの未定義メソッドを回避します)。

だからあなたは書くことができます

@person&.spouse&.name

の代わりに

@person.spouse.name if @person && @person.spouse

ドキュメントから: