Rubyで@token&.userと書いたときの&の意味


githubで適当なRailsアプリケーションリポジトリのソースコードを見ていて、  
@user = @token&.userという記述を見ました。

この＆はどういう意味なのでしょうか？  
rails cで実行するとnilになりました

ちなみにuserのｍodelでは下のように設定しています。  
has_one :token

@user.tokenなら素直にわかります。

特にテーブル定義などなくても回答には支障ないと思っているのですが、  
必要なようでしたら教えてください。




`ぼっち演算子`（これで検索するとたくさんの用法、用例がヒットします）と呼ばれるものです。

オブジェクトがnilの場合に`NoMethodError`を起こさないでnilを返します。

これにより、nil判定のコード量を減らせるなどのメリットがあり、メソッドチェーンなどがしやすくなります。




`ぼっち演算子`（これで検索するとたくさんの用法、用例がヒットします）と呼ばれるものです。

オブジェクトがnilの場合に`NoMethodError`を起こさないでnilを返します。

これにより、nil判定のコード量を減らせるなどのメリットがあり、メソッドチェーンなどがしやすくなります。

