Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用以下代码创建了二维数组。但我不能在数组中存储值。数组的行和列动态增长。之前无法预测。
arr = Array.new {Array.new}
并且不能做这种事情......
arr[0][0] = "Ruby"
您可以在标准数组上创建一个抽象,就像这样
class MyArray < Array def [](idx) self.at(idx) ? self.at(idx) : self[idx] = [] end end
或者,您可以使用default_proc在指定索引处创建新数组的 Hash。或键为 [row, column] 的哈希。这将是大型数据集的最佳选择,因为您的操作将在 O(1) 时间内完成。
default_proc