【发布时间】:2015-11-16 13:57:41
【问题描述】:
我有一个包含 OpenStruct 元素的数组。
我想按 id 属性对它们进行排序,但不是按数字顺序,我可以通过以下方式实现:
a.sort! { |x,y| x.id <=> y.id }
我需要的顺序,因为没有逻辑,所以我有一个数组,可以说:
order = ['4','32','1','3','5']
我想以这种方式订购我的a 数组。
每个a[x] 中包含的所有数据都是一个具有.id 属性的OpenStruct。
【问题讨论】:
-
看起来像家庭作业,到目前为止你尝试了什么?
-
不,不是作业。太老了。这是工作 - 工作。我已经尝试过
{ |x| order.index <=> x.id }之类的方法,以及我发现的其他方法,但我认为这可能是因为在内部使用了 OpenStruct,所以一切都不起作用。不确定。