0
我是新來的紅寶石,並提前道歉,因爲我強烈懷疑我錯過了這裏真正明顯的東西。但..如何存儲從哈希動態創建的對象?
我想基於哈希數組動態地創建對象。但是,我如何存儲對象?
如果我創建只有一個,我會做一個變量賦值,象這樣:
h = PuppetNode.new(hash)
print h.hostname # foo.bar.com
但怎麼樣?:這裏
array_of_hashes.each { | hash |
h = PuppetNode.new(hash)
}
這將導致「H」對象被覆蓋不會嗎? 我想我可以嘗試從哈希中提取某些內容以動態地命名該變量,但似乎這是不必要的,因爲各種實例變量標出了每個對象的獨特性。
我真的需要使用變量嗎?如果不是,我如何創建/存儲對象。如果是這樣,我怎樣才能動態地設置變量名稱而不痛苦的正則表達式使用?
在此先感謝
你想要什麼輸出是完全的,我不清楚。 – Anthony
(在我的代碼示例中更正了錯誤)想象一下'array_of_hashes'是三個哈希值。我如何得到三個對象,我可以用我在第一個例子中的相同方式引用它,其中h.hostname – spoovy
'nodes = array_of_hashes.map {| hash | PuppetNode.new(hash)}'會產生一個'PuppetNode'對象數組。然後你可以通過'p nodes [0] .hostname'來訪問它們。 – Anthony