1
我使用以下代碼創建了二維數組。但我不能在數組中存儲值。數組的行和列動態增長。以前無法預測。如何在ruby中創建2維數組並存儲運行時的值
arr = Array.new {Array.new}
,不能做這種類型的東西.....
arr[0][0] = "Ruby"
我使用以下代碼創建了二維數組。但我不能在數組中存儲值。數組的行和列動態增長。以前無法預測。如何在ruby中創建2維數組並存儲運行時的值
arr = Array.new {Array.new}
,不能做這種類型的東西.....
arr[0][0] = "Ruby"
您可以創建標準陣列上的抽象,像這樣
class MyArray < Array
def [](idx)
self.at(idx) ? self.at(idx) : self[idx] = []
end
end
或者,你可以使用一個Hash,它的default_proc
在指定的索引處創建一個新的數組。或者其密鑰爲[行,列]的散列。這將是大數據集的最佳選擇,因爲您的操作將在O(1)次。