水晶郎作为前缀

时间:2020-07-19 19:44:22

标签: oop crystal-lang

我正在查看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是什么?它有什么作用?

1 个答案:

答案 0 :(得分:1)

可能只是Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; default command timeout=999; Something.new(x)new,因为您可以将self.new放在合并范围内。