我正在尝试用红宝石做点什么。
我有一年中的几个月就像这样。
months = ['april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december', 'january', 'february', 'march']
然后我定义了一个名为Month的类,它看起来像这样......
class Month
attr_accessor :name, :accounts, :income
def initialize(name, accounts, income)
# Instance variables
@name = name
@accounts = accounts
@income = income
end
end
现在我尝试使用像这样的迭代器创建12个Month类的实例
months.each do |month|
xxx = Month.new(month, 50, 1000)
end
我正在努力的是xxx。我希望这是月份的名称,所以我最终能够做到4月.cacounts,may.income等。无论我尝试什么,我似乎无法弄明白?
有人可以帮忙吗?
答案 0 :(得分:2)
使用此instance_variable_set
方法。
months.each do |month|
instance_variable_set :"@#{month}", Month.new(month, 50, 1000)
end