9

Rails アプリで次のコード行に出くわしました。

scope :for_uid, ->(external_id) { where(external_id: external_id) }

->オペレーターの意味は?グーグルにとってはちょっと難しいです。

4

3 に答える 3

7

新しいラムダ表記です。この構文は ruby​​ 1.9 で導入され、名前のない関数を定義するために使用されます。

あなたの例では、名前のない関数によって定義されたスコープです。

于 2013-07-15T14:21:47.683 に答える
5

演算子は、Ruby 1.9 で古い関数->の簡略構文として導入されました。lambda関数とほぼ同じように動作lambdaしますが、ブロックの外側でパラメーターを指定できます。

lambda {|param| puts param }

# becomes

-> (param) { puts params }
于 2013-07-15T14:22:03.110 に答える