options_from_collection_for_select(['all'], 'to_s', -> (input) { t("admin.mystring") })
我在Haml文件中找到這行代碼。有人能解釋一下->(input)
是做什麼的?什麼時候在ruby中使用這個符號->
?紅寶石符號 - >做什麼?
options_from_collection_for_select(['all'], 'to_s', -> (input) { t("admin.mystring") })
我在Haml文件中找到這行代碼。有人能解釋一下->(input)
是做什麼的?什麼時候在ruby中使用這個符號->
?紅寶石符號 - >做什麼?
- >(輸入)做什麼?
->() { .. }
被稱爲staby proc。
何時使用此符號 - >在紅寶石中?
當您想使用Kernel#lambda
方法使用Proc
對象時。 ->() { .. }
是Kernel#lambda
的語法糖。
紅寶石1.9.1介紹了這種新的,更簡潔的語法來創建lambda方法。
stab operator的名稱與刀或刺穿動作相似:->
。在運算符的插入部分之後,有一個參數列表,就像在普通方法中一樣。然後,一個正常的大括號中的Ruby塊。
由於lambda的參數列表是一個形式參數列表,與塊參數列表相反,支持其他幾個功能,如默認參數值。 A lambda位於匿名塊或閉包與正式命名方法之間的某處。
->
運算符是lambda
關鍵字的快捷鍵。您可以在這裏閱讀關於它們的全部內容:http://www.ruby-doc.org/core-2.1.1/Proc.html
Google也被稱爲「stabby lambdas」。 – tadman
@tadman應該按照你的建議重寫'staby proc'。 –
它有幾個術語,但這是其中之一。它也幫助人們在這裏找到答案。 – tadman