Rails の ActiveRecord で、scope と lamdba がセットで出てきてなんだかなーと思ったのですが。今日ピンときたのでメモ。
scope は、
class Item < ActiveRecord::Base
...
scope :by_name, lambda{ |value| where("name = ?", value) }
...
のような定義で、
Item.by_name 'XXX'
とすれば、名前がXXXのItemがとれるみたい。すげえ。(Relationやんね。。。?)
しかしこれを知らなかったので、今までもっさい書き方してたな。。。
で、この時の lambda は何者かというと。 無名関数のようなものらしい。
JavaScriptでよく引数とかに関数突っ込むようなものかな?
...間違ってたらツッコミおなしゃす。
この辺のはなしは、ここのサイトさんがわかりやすかったです。
【Ruby】lambdaって何? - ふわふわRuby on Rails
Written with StackEdit.
0 件のコメント:
コメントを投稿