2013年8月13日火曜日

Ruby lambda

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.

  • この記事をシェアする

  • このエントリーをはてなブックマークに追加
  • このブログの更新をチェックする

  • follow us in feedly