Railsでscopeを定義するときに登場するlambdaとは?

こんにちは!kossyです!




さて、今回は、Railsでscopeを定義するときに使うことがある「lambda」に出会ってしまったので、
備忘録としてこいつは何者なのかをブログに残してみたいと思います。




正体は「無名関数」

無名関数 = 名前のない関数
です。



で、話を終わりにするわけにもいかないので補足すると、
Rubyでは、lambdaはProcオブジェクトというもので、
ブロックをオブジェクト化したProcクラスのインスタンスになります。




scopeを定義するときはlambdaを渡しても->を渡してもどちらでもいいっぽい

  • >はアロー記法というもので、lambdaを渡しても->を渡してもどちらでもscopeは機能するようです。

参考:
[Ruby]Procオブジェクトについて - Qiita
【Railsのモデルで使用】scopeのlambdaとは何なのか?使い方を紹介 | shin>>media