0

私のsinatraアプリには、次のコードがあります

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

私がする必要があるのは、 my_datadatedescending順番にソートすることです。ただし、ここでエラーが発生します

wrong number of arguments(1 for 0)

私は何を間違えましたか?

4

1 に答える 1

3

Enumerable#sort引数を取りません。Lambda基本的に、メソッドへの最初で唯一の引数としてオブジェクトを渡しますsort。できることは、コレクションのソートに使用するブロックを提供することです。

wrong number of arguments(1 for 0)1メソッドに引数が与えられ、期待されていると言ってい0ます。

これを試して:

my_data.sort{ |a, b| b[:date] <=> a[:date] }
于 2012-12-28T15:49:59.827 に答える