Я пишу простую текстовую игру для изучения рубина.Хеш должен быть глобальной переменной, так как я должен получить к ней доступ в других функциях (могут быть другие решения, но я мог бы найти это).Я пытаюсь изменить значения элементов хеша.Приведенная ниже функция в основном увеличивает текущую цену на 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%, но это еще одна проблема, которую я хотел бы решить самостоятельно, поэтому, пожалуйста, не комментируйте ее.Что еще более важно, у меня есть еще один вопрос о хэшах.Есть ли обязательство использовать ключ и значение, потому что в руководствах по поиску, я видел людей, использующих пары типа «имя, значение» или «человек, имя» вместо «ключ, значение», не определяя ничего.