我需要在我的 Ruby 应用程序中表示和使用表。“表”是指具有列和行的数据结构。我需要能够删除/追加/插入列和行,以及按行/列引用单元格。列标题、列类型等选项是一个加号。我曾经在 Python 中实现过这样的数据结构,它最终只超过 1000 行,所以我宁愿使用预先存在的解决方案。
是否有提供此功能的内置数据结构或 gem?
如果您乐于使用 SQL DDL 来操作结构,并使用 SQL 查询来操作和提取数据,那么您可以使用数据库。这并不一定意味着客户端/服务器或其他大型架构;SQLite 也许很适合您的要求。
如果您使用 SQLite ( http://www.sqlite.org/about.html ) 和sqlite3
gem,您还应该能够使用内存模式运行数据库,如果您想要的只是它允许的数据结构在运行时:
require 'sqlite3'
db = SQLite3::Database.new ":memory:"
来自 Java 我还搜索了 Guava's Table之类的东西,但是像这样的哈希中的简单哈希呢:
table = {
'row 1' => { 'column A' => '1A' , 'column B' => '1B' },
'row 2' => { 'column A' => '2A' , 'column B' => '2B' },
}
你可以像这样访问它:
table['row 1']['column A']