这个实现的Ruby正确的数据结构

时间:2014-02-16 22:33:36

标签: ruby data-structures

我想知道Ruby中的任何数据结构,它允许我们方便地存储数字对。

我想在列表中存储成对的数字,比如坐标,而不考虑顺序。

就像[(0,0), (0,1), ... (x,y)]

一样

如果没有可以做到这一点的数据结构,那么我能用其他东西实现的最接近的是什么?

感谢。

2 个答案:

答案 0 :(得分:3)

另一种方法是使用Struct定义Pair之类的内容。

Pair = Struct.new(:x, :y) do
  def to_s
    "(#{x}, #{y})"
  end
end

然后,yon可以将其用作其他内置数据结构。 [Pair.new(0,0), Pair.new(1,1)]

如果您认为构建Pair的方式过于繁琐,请定义辅助方法Pair

def Pair(x, y)
  Pair.new(x, y)
end

最后,[Pair(0,0), Pair(1,1)]

答案 1 :(得分:2)

您可以使用嵌套数组,如下所示:

 array = [[0,0], [0,1], ... [x,y]]
相关问题