1
我在Ruby中创建类关联时遇到了困难,因为它是一种动态类型语言。在Java中,我这样写:Ruby类协会
public class Foo {
...
}
public class Bar {
public Foo foo;
...
}
我该如何在Ruby中编写类似的东西?
我在Ruby中创建类关联时遇到了困难,因为它是一种动态类型语言。在Java中,我这样写:Ruby类协会
public class Foo {
...
}
public class Bar {
public Foo foo;
...
}
我该如何在Ruby中编写类似的东西?
class Foo
end
class Bar
attr_accessor :foo
def initialize (foo)
@foo = foo
end
end
foo = Foo.new
bar = Bar.new(foo)
puts bar.foo
对于你说的话,看来你需要某种类型安全。你可以通过这样做来达到这样的效果
def initialize (foo)
raise ArgumentError, "You must provide a valid Foo instance" unless foo.instace_of?(Foo)
@foo = foo
end
我不是很清楚。我想将现有的Foo对象传递给Bar。 –
我相信你想在构造函数中传递它?编辑 –
是的,没错。我已经考虑过这个解决方案,但对我来说似乎很危险,因为我可以通过构造函数传递一个错误的变量。我想这是动态打字的价格。不管怎么说,还是要谢谢你! –