【发布时间】:2011-01-13 06:57:15
【问题描述】:
VBScript 保证 GC 将在每一行之后运行,因此如果您创建一个对象并且不保留引用,那么它的析构函数将在该行的末尾被调用。这使您可以做许多有趣的事情,其中之一是模拟可选参数:
with foo(mandatoryArg)
.optArg = 42
end
另一个是允许方便的构建器语法:
with Schema.define("Foo")
.attr "name", String
with .attr "key", String
.lengthEquals(10)
end
end
在本例中,定义和 attr 返回在析构函数中最终确定架构和属性定义的对象。
我一直将临时对象称为 ephemeron,但我想知道这种构造是否存在预先存在的术语。有人在别处见过吗?
【问题讨论】:
标签: design-patterns vbscript garbage-collection destructor ephemeron