Rails アプリで次のコード行に出くわしました。
scope :for_uid, ->(external_id) { where(external_id: external_id) }
->
オペレーターの意味は?グーグルにとってはちょっと難しいです。
Rails アプリで次のコード行に出くわしました。
scope :for_uid, ->(external_id) { where(external_id: external_id) }
->
オペレーターの意味は?グーグルにとってはちょっと難しいです。
新しいラムダ表記です。この構文は ruby 1.9 で導入され、名前のない関数を定義するために使用されます。
あなたの例では、名前のない関数によって定義されたスコープです。
演算子は、Ruby 1.9 で古い関数->
の簡略構文として導入されました。lambda
関数とほぼ同じように動作lambda
しますが、ブロックの外側でパラメーターを指定できます。
lambda {|param| puts param }
# becomes
-> (param) { puts params }