35483


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

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

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

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

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


CC BY-SA 3.0
2017-06-11T09:37:14.233
35477
2017-06-11T12:49:42.320
23717
question
ruby-on-rails ruby
Rubyで@token&.userと書いたときの&の意味


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

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

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


CC BY-SA 3.0
2017-06-11T12:36:35.377
35483
2017-06-11T12:49:42.320
2017-06-11T12:49:42.320
9008
9008
35477
answer