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。 –
我相信你想在構造函數中傳遞它?編輯 –
是的,沒錯。我已經考慮過這個解決方案,但對我來說似乎很危險,因爲我可以通過構造函數傳遞一個錯誤的變量。我想這是動態打字的價格。不管怎麼說,還是要謝謝你! –