簡體   English   中英

在Ruby中訪問哈希中的數組

[英]Accessing an array within a hash in Ruby

我正在編寫一個應用程序,該應用程序將值從Excel電子表格中提取出來,然后使用版本號作為鍵將這些值存儲在哈希中。 直到我嘗試從哈希中檢索信息之前,一切似乎都正常運行。 這是構建哈希的代碼:

@version_numbers.each do |version|
   user_variables = Spreadsheet.open "#{version}.xls" #Opens excel sheet for all versions present 
   user_variables_sheet = user_variables.worksheet 0 #Loads worksheet
   user_variables_hash = {}

   user_variables_sheet.each 1 do |row| #Skips the first row containing titles
        part_number = row[0].to_i
        serial = row[1].to_i
        (user_variables_hash[version] ||= []) << [part_number, serial]
    end
end

當我嘗試使用user_variables_hash['01-2'][0][0]從01-2版本檢索信息時,會產生錯誤,指出:

未定義的方法'[]'為nil:NilClass(NoMethodError)

任何幫助將不勝感激。

謝謝。

對於每個版本號,您要創建一個新的空哈希( user_variables_hash = {} ),然后將版本號插入該新哈希中。 幾乎可以肯定這不是您想要的。

您可能希望在每個循環之前初始化一次user_variables_hash

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM