Ruby-对象类的别名
对不起我的英语 我的代码Ruby-对象类的别名,ruby,class,object,alias,Ruby,Class,Object,Alias,对不起我的英语 我的代码 class MyClass NewFood = Food def index @items = NewFood.all end end @items。首先是一个食物对象,但我想得到一个新的食物对象 有什么帮助吗?说你想要一个NewFood对象是没有意义的。只有两类:MyClass和Food。常量MyClass::NewFood只指向Food;仅仅因为您定义了该常量,并不意味着您可以期望Food类的实例开始表现出不同的行为,并说它们的类是NewF
class MyClass
NewFood = Food
def index
@items = NewFood.all
end
end
@items。首先
是一个食物对象,但我想得到一个新的食物对象
有什么帮助吗?说你想要一个
NewFood
对象是没有意义的。只有两类:MyClass
和Food
。常量MyClass::NewFood
只指向Food
;仅仅因为您定义了该常量,并不意味着您可以期望Food
类的实例开始表现出不同的行为,并说它们的类是NewFood
你能缩小镜头告诉我们大局是什么吗?你想完成什么?你想解决什么现实问题?我们可能会提供更好的解决方法。举个例子:
class Foo
@@instances = []
def initialize(value)
@value = value
@@instances << self
end
def self.all
@@instances
end
end
class Bar
NewFoo = Foo.dup
def index
@items = NewFoo.all
end
end
# Now Bar::NewFoo will instantiate it's own objects
Bar::NewFoo.new(5)
Bar::NewFoo.new('fish')
Bar.new.index
=> [#<Bar::NewFoo:0x00000002f33cf0 @value=5>,
#<Bar::NewFoo:0x00000002f65958 @value="fish">]
class-Foo
@@实例=[]
def初始化(值)
@价值=价值
@@实例