Crystal Lang new 作为前缀
Crystal Lang new as a Prefix
我正在查看 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
,它有什么作用?
可能只是 Something.new(x)
。 new
是 self.new
,因为您可以将 self
放入范围内。
我正在查看 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
,它有什么作用?
可能只是 Something.new(x)
。 new
是 self.new
,因为您可以将 self
放入范围内。