在我的sinatra应用程序中,我有
的代码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)
我做错了什么?
答案 0 :(得分:3)
Enumerable#sort
不接受任何争论。您实际上是将Lambda
对象作为sort
方法的第一个也是唯一的参数传递。您可以做的是提供一个用于对集合进行排序的块。
wrong number of arguments(1 for 0)
表示该方法已获得1
参数且预期为0
。
试试这个:
my_data.sort{ |a, b| b[:date] <=> a[:date] }