我已经定义了一个Container
类。在@values 属性中,我需要存储一个数组或二维数组,这些数组中的元素可以是 Int32 或 Float64。如果我这样初始化它:
class Container
def initialize(value)
@values = values
end
end
我收到一个错误:@values : Type, is inferred from assignments to it across the whole program.
如果我这样定义:
class Container
def initialize(value : Array)
@values = values
end
end
我得到:can't use Array(T) as the type of instance variable @values of Container(T), use a more specific type
我怎样才能让这个类更灵活,所以我可以做到:
Container.new([1,2,3])
Container.new([1.0, 3.0, 4.0])
Container.new([[1, 2], [4,3,2],[1]])
Container.new([[1.0, 4.5], [2.2, 0.0]])