Ruby on Rails中` - >()`语法的含义

any*_*acy 1 ruby ruby-on-rails

这个Ruby on Rails语法的含义是什么?

options = ->(p) {{controller: 'clients', subdomain: "m.#{Rails.env}"}.merge!(p)}

我以前从来没有遇到过这样的语法:->(p).

我甚至无法在谷歌上找到相关资源.有没有人有这方面的教程?

Ily*_*lya 5

它只是附加的lambda语法(自Ruby版本1.9起).旧语法:

options = lambda { |p| { controller: 'clients', subdomain: "m.#{Rails.env}"}.merge!(p)}
Run Code Online (Sandbox Code Playgroud)