朱莉娅的“新(...)”做了什么?

时间:2016-05-23 01:05:19

标签: julia

朱莉娅new()的功能是什么?这个问题是否足够具体?

我正在查看模块Mocha,其中new(...)被广泛使用,但我没有看到new()的任何定义,只使用它,也没有找到参考在朱莉娅文档中。

我认为它可能会在Mocha正在使用的模块中定义,但我认为我可以从REPL中学习带有Mocha.new的new(),但是回来了与ERROR: UndefVarError: new not defined

对于我的生活,我无法弄清楚new(...)正在做什么。如果它听起来不像朱莉娅的共同点,我该怎么做才能尝试追踪它的定义?

1 个答案:

答案 0 :(得分:5)

来自http://docs.julialang.org/en/release-0.4/manual/constructors/

  

内部构造方法

     

外部构造方法成功   解决为其提供额外便利方法的问题   构造对象时,它们无法解决其他两个用例   在本章的介绍中提到:强制执行不变量,   并允许构建自引用对象。对于这些   问题,需要内部构造方法。内部构造函数   方法很像外部构造方法,有两点不同:

     
      
  1. 它在类型声明的块中声明,而不是   在它之外,就像正常的方法一样。
  2.   
  3. 它可以访问一个名为new的特殊本地存在函数,该函数创建块类型的对象。
  4.