1
以下是什麼->
操作符?帶有示波器的` - >`操作員
scope :published, -> { where(published: true) }
scope
是一種方法,:published
是作爲一個參數,這使我相信,-> { where(published: true) }
拼成的一個參數傳遞的象徵。由於存在>
字符,因此->
不是有效的方法名稱。
以下是什麼->
操作符?帶有示波器的` - >`操作員
scope :published, -> { where(published: true) }
scope
是一種方法,:published
是作爲一個參數,這使我相信,-> { where(published: true) }
拼成的一個參數傳遞的象徵。由於存在>
字符,因此->
不是有效的方法名稱。
它被稱爲lambda文字,並且只是創建lamda的簡短方法。以下是一樣的:
double = -> (x) { 2 * x }
double.call(10) # => 20
等同於:
double = lambda {|x| 2 * x }
double.call(10) # => 20
櫃面你不熟悉的lambda表達式,然後結賬紅寶石-doc的更多細節http://ruby-doc.org/core-2.0.0/Proc.html#method-i-lambda-3F
此外,以下StackOverflow的線程結賬What do you call the -> operator in Ruby?
Google for ruby lambda operator – juanpastas
它被稱爲'lambda literal'或'stabby lambda'。這只是一種創建lamda的方式。 –