我有一个按最近修改日期排序的帖子列表。我想将它们错开成两列,以便将最近修改的两个帖子放在顶部。这段代码是相当不言自明的:
posts.each do |post|
right_column << post if shift
left_column << post if !shift
shift = shift ? false : true
end
posts = left_column + right_column
例如,给定输入 [1, 2, 3, 4]
,目标是产生[1, 3, 2, 4]
。
在 Ruby 中是否有更优雅/惯用的方法来实现这一点?