【发布时间】:2014-06-25 08:33:16
【问题描述】:
我要初始化attr3='c',属性个数可以改变。
class MyClass
attr_accessor :attr1, :attr2, :attr3
def initialize(attr1 = 1, attr2 = 2, attr3 = 3)
@attr1 = attr1
@attr2 = attr2
@attr3 = attr3
end
end
myclass = MyClass.new
myclass.attr1 # => 1
myclass.attr2 # => 2
myclass.attr3 # => 3
myclass = MyClass.new('c')
myclass.attr1 # => c
myclass.attr2 # => 2
myclass.attr3 # => 3
我试图为属性名称赋值。
myclass = MyClass.new({attr3 : 'c'}) # => but that doesn't work
【问题讨论】:
-
你有什么问题?
-
如何给属性名赋值?感谢@Uri Agassi 和@DaveMongoose!
标签: ruby attributes assign