2012-12-28 92 views
0

參數在我的末日應用程序,我有數錯誤的拉姆達

haml :"page123", locals: 
     { 
     items: (my_data.sort ->(item1, item2){ item2[:date] <=> item1[:date]}), 
     }, 
     layout: need_layout? 

的代碼是什麼,我需要做的是在date爲了descending排序my_data。但是,我在這裏得到錯誤

wrong number of arguments(1 for 0) 

我做錯了什麼?

回答

3

Enumerable#sort沒有任何參數。實質上,將Lambda對象作爲sort方法的第一個也是唯一的參數傳遞。你可以做的是提供一個塊用於排序集合。

wrong number of arguments(1 for 0)表示該方法被給出1參數並且預期0

試試這個:

my_data.sort{ |a, b| b[:date] <=> a[:date] } 
+0

事實上,我將lambda對象,而不是PROC。 –

+0

@Alan gotcha。謝謝! – Kyle