2
以下はRubyの名前付き引数の例ですが、アンパサンドは何をしていますか?Rubyパラメータの末尾にあるアンパサンドは何を意味しますか?
def set_tools(foo:, bar:, baz:)
@instance_variable = baz&.stuff
以下はRubyの名前付き引数の例ですが、アンパサンドは何をしていますか?Rubyパラメータの末尾にあるアンパサンドは何を意味しますか?
def set_tools(foo:, bar:, baz:)
@instance_variable = baz&.stuff
それは、航行安全オペレータと呼ばれています。ルビーで導入2.3.0
あなたはそれたとえば
にいくつかのメソッドを呼び出す前に値が存在することを確認するためにそれを使用することができます:あなたが代わりに
のこの演算子を使用することができますa = nil
a.some_method # This will break
#=> NoMethodError: undefined method `some_method' for nil:NilClass
a&.some_method # This will not
#=> nil
この演算子を使用して
a && a.some_method && a.some_method.some_other_method
# OR
a.try(:some_method).try(:some_other_method)
a&.some_method&.some_other_method
[セーフナビゲーションオペレーター](http://mitrev.net/ruby/2015/11/13/the-operator-in-ruby/)です。 Ruby 2.3でデビューしました。 –
こちらをご覧くださいhttps://stackoverflow.com/questions/36812647/what-does-ampersand-dot-mean-in-ruby –