我在狂歡商業中見過。什麼意思 - >在Ruby中的意思是
go_to_state :confirm, if: ->(order) { order.confirmation_required? }
那麼,什麼會做那個符號?
我在狂歡商業中見過。什麼意思 - >在Ruby中的意思是
go_to_state :confirm, if: ->(order) { order.confirmation_required? }
那麼,什麼會做那個符號?
這是一個拉姆達文字。檢查此示例:
> plus_one = ->(x){x+1}
=> #<Proc:[email protected](irb):3 (lambda)>
> plus_one.call(3)
=> 4
lambda文字是Proc的構造函數。 A Proc
是一種將代碼塊分配給變量的方法。在此之後,您可以根據需要多次調用您的代碼塊,並使用不同的參數。
這是如何在ruby中傳遞「function」作爲參數的。在很多語言中,你可以傳遞一個函數的引用。在ruby中,你可以傳遞一個Proc對象。
在Ruby 1.9中,您可以使用刺運算符->
來創建lambda。
l1 = lambda { puts "I'm a lambda" }
l2 = -> { puts "I'm a lambda" }
該運算符還接受參數。
l1 = lambda(name) { puts "I'm a #{name}" }
l2 = ->(name) { puts "I'm a #{name}" }
我已在谷歌搜索,但顯示沒有相關結果 – shajin 2013-05-02 12:11:29
使用此網站的搜索框。搜索'[ruby]「 - >」'或其他您想知道的操作符。 – Mat 2013-05-02 12:14:32
看起來像是'lambda'的符號 – 2013-05-02 12:14:44