用于操作列表的元素顺序的接口

时间:2015-04-16 16:06:42

标签: ruby collections

我想要一个项目列表(我真的想要一个FILO的堆栈,但我想这是无关紧要的)。是否有一些操作项目订单的实现?比如:

  • 将x前移至2个位置
  • 将y移至
  • 后面的3个位置
  • 将z移至位置顶部

我想看看,如果类似的东西已经存在,它提供了什么其他功能。我也想用它/知道这样的界面是如何工作的。我在Ruby中这样做,但我想其他语言的例子也足够了。

1 个答案:

答案 0 :(得分:0)

据我所知,Ruby没有内置方法来移动数组中的元素,但你可以将它们直接添加到Array类中,如下所示:

class Array
  def move(index, distance)
    temp = self[index+distance]
    self[index+distance] = self[index]
    self[index] = temp
    self
  end
end

a = [1,2,3]
a.move(0,1)