我正在查看Crystal编译器的源代码,并且遇到了这个问题:
def self.from(obj : Array)
case obj.size
when 0
Nop.new
when 1
obj.first
else
new obj
end
end
尤其是new obj
。我知道T.new
用于创建类型T
的新实例,但是我以前从未见过new x
。这是某种方法吗?我没有在该文件中定义它。 new
是什么?它有什么作用?
答案 0 :(得分:1)
可能只是Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
default command timeout=999;
。 Something.new(x)
是new
,因为您可以将self.new
放在合并范围内。