我正在編寫一個簡單的文本遊戲來學習ruby。哈希必須是一個全局變量,因爲我必須在其他函數中訪問它(可能有其他解決方案,但我可以找到它)。我試圖改變哈希元素的值。下面的函數基本上將當前價格增加10%,並且以當前形式正確地更改值並輸出它們,但未能將它們寫入原始哈希。無法更改/替換紅寶石中的全局散列值
$stocks = {"DOHOL" => 10, "GOZDE" => 5, "KONYA" => 20}
def margin
puts "New values:\n "
$stocks.each do|key, value|
percent = (value.to_i/10) + 1
change = rand(percent)
value += change
puts "#{key}: #{value} USD"
end
end
我當然希望我能使其隨機減少/增加10%的價格,但這是另外一個挑戰,我想通過自己來解決,所以請不要在一個評論。更重要的是,我還有一個關於哈希的問題。有沒有義務使用關鍵和價值,因爲谷歌搜索教程,我已經看到人們使用像「名稱,價值」或「人,名稱」,而不是「鍵,價值」對,而沒有定義任何東西。
謝謝,我用[「鑰匙」]嘗試過,但現在我看到了錯誤。 – barerd 2012-02-25 17:03:02