此实现的 Ruby 正确数据结构

标签 ruby data-structures

我想知道 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/

相关文章:

java - java中的RedBlackTree插入实现

ruby - 有没有人使用 Ruby 为 Sinatra 和 Datamapper 创建了一个网络应用程序混合?

sql - 将 ruby​​ 与数据库一起使用,但没有 rails

ruby-on-rails - 使用 CanCan 的上下文感知授权

javascript - 扩展和重新排序对象数组

data-structures - 存储库模式与 "smart"业务对象

http - RESTful 数据结构模式

javascript - 为什么要区分单行注释和多行注释?

iphone - 使用 Ruby on Rails 签署 iPhone 配置 XML 配置文件

c++ - 汉明立方体顶点上的查询点