【发布时间】:2013-05-27 23:53:05
【问题描述】:
我有一个由哈希条目数组组成的数据库。
我想根据从命令行获取的参数对该数据库进行排序。如果只有一个选项,这很容易:
dbArray.sort_by! { |record| record[ARGV[0]] }
但是,当有多个排序条件时,我不确定如何在此处动态生成要传递给sort_by! 的块。基本上,我想生成代码
dbArray.sort_by! { |record| [record[ARGV[0]], . . . , record[ARGV[N]]] }
对于尽可能多的参数,但我不知道该怎么做,因为直到运行时我才知道有多少参数,没有做一些疯狂的事情,比如构建一个字符串并调用eval。
【问题讨论】:
标签: ruby sorting hash metaprogramming block