我想知道 Ruby 中有什么数据结构可以让我们方便地存储数字对。
我想在不考虑顺序的列表中存储成对的数字,例如坐标。
就像[(0,0), (0,1), ... (x,y)]
如果没有数据结构可以做到这一点,我用其他东西最接近的是什么?
谢谢。
最佳答案
另一种方法是使用 Struct像这样定义一个 Pair
。
Pair = Struct.new(:x, :y) do
def to_s
"(#{x}, #{y})"
end
end
然后,您可以将其用作其他内置数据结构。 [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)]
关于此实现的 Ruby 正确数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21817646/