У меня есть функция, которая принимает некоторые параметры, включая хэш и целочисленную переменную, и корректирует их значение. Функция изменяет значение хэша для повторного использования, однако целочисленная переменная сбрасывает себя. Я полагаю, что это потому, что это изменяет копию этой переменной, но я хотел знать, как я могу изменить это полностью. Я читал что-то про proc, но, к сожалению, не могу решить свою проблему.
Мой код указан ниже:
def buyProducts(product, amount, balance, foods, myProducts)
totalPrice = foods[product] * amount
balance -= totalPrice
myProducts[product] = amount
puts "You bought some #{product}\n"
puts "Your remaining balance is $#{balance}\n"
puts "Your current inventory is #{myProducts}"
end
Здесь myProducts - это хеш, который обновляется каждый раз. баланса, однако, нет, то есть 100 с самого начала. в то время как строка «ваш остаток» обновляется, при повторном вызове функции она сбрасывается до 100.
Я ценю, что это простой вопрос, но любая помощь будет принята с благодарностью!