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

Dav*_*rks 5 julia

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

我期待通过模块Mocha,其中new(...)使用相当普遍,但我没有看到任何定义new(),只使用它,我也不找朱莉娅文档中引用.

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

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

Fre*_*gge 5

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

内部构造方法

虽然外部构造方法成功地解决了为构造对象提供额外的便利方法的问题,但它们未能解决本章介绍中提到的另外两个用例:强制不变量,并允许构造自引用对象.对于这些问题,需要内部构造方法.内部构造函数方法很像外部构造函数方法,有两个不同之处:

  1. 它在类型声明的块内声明,而不是像普通方法那样在它之外声明.
  2. 它可以访问一个特殊的本地存在的函数new,该函数创建块类型的对象.