【发布时间】:2011-02-19 16:19:46
【问题描述】:
我很好奇。大多数 Perl 隐式调用的子例程必须全部大写。 TIESCALAR、DESTROY 等。其实perldoc perltoot 说
如果构造函数可以有任意 名称,那么为什么不使用析构函数呢? 因为虽然构造函数是 显式调用,析构函数是 不是。破坏发生 自动通过 Perl 的垃圾 收集(GC)系统,这是一个 快速但有点懒惰 基于参考的GC系统。要知道 叫什么,Perl 坚持认为 析构函数被命名为 DESTROY。 Perl 的 正确时间调用的概念 析构函数定义不明确 目前,这就是为什么您的 析构函数不应该依赖于何时 他们被称为。
为什么 DESTROY 全部大写? Perl on 场合使用纯大写 函数名称作为约定 表示该函数将是 在某些情况下由 Perl 自动调用 方式。其他被称为 隐含包含 BEGIN、END、 AUTOLOAD,加上所有使用的方法 绑定对象,在 perltie 中描述。
那为什么import 子例程要小写呢?有没有人对此有很好的见解?
【问题讨论】:
-
恐怕没有一致的原因,而且那个import是小写只是因为历史原因,legacy bla bla。
标签: perl naming-conventions implicit