设置默认属性和属性类型

时间:2016-12-22 18:55:42

标签: crystal-lang

我想定义一个类Person,其类型为Int32的age属性,并在未提供的情况下为其指定默认值。 我知道如何做第一个:

class Person

  def initialize(@age : Int32) 

  end

end

和第二个:

class Person

  def initialize(@age = 0) 

  end

end

但不是如何做到这两点。这可能吗 ?

1 个答案:

答案 0 :(得分:4)

最近添加了执行此操作的功能,并且文档中似乎缺少此功能。这是做到这一点的方法:

for(int i = 0; i < mRows; i++) {
    for(int j = 0; j < mColumns; j++) {
        *(*(mLayout + i) + j) = new TileWrapper();
    }
}

请注意,默认情况下,隐含的类型与默认值的类型相同。例如:

class Person
  def initialize(@age : Int32 = 0) 
  end
end
class Person
  def initialize(@age = 0) 
  end
end

Person.new("a")