【发布时间】:2012-02-25 16:27:38
【问题描述】:
我正在编写一个简单的文字游戏来学习 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% 的价格,但这是另一个挑战,我想自己解决,所以请不要对此发表评论。更重要的是,我还有一个关于哈希的问题。是否有义务使用键和值,因为谷歌搜索教程,我看到人们使用“名称,值”或“人,名称”之类的对而不是“键,值”而不定义任何内容。
【问题讨论】:
标签: ruby variables hash global-variables