原生 OO 中 itcl::find 的任何替代品?
Any substitute for itcl::find in native OO?
原生 OO 中是否有 itc::find 的替代品。
我需要删除特定命名空间中的所有 类
我的代码运行如下:
foreach class [::itcl::find classes ::MYNAMESPACE::*] {catch {::itcl::delete class $class}}
如何在本机 OO 中执行此操作?
好的 - 执行以下操作:
foreach class [info class instances oo::class ::MYNAMESPACE::*] {
catch {$class destroy}
}
最简单的方法是让你所有的 classes subclass 成为一个不需要做任何事情的虚拟 class,比如说 MYNAMESPACE::DeletionToken
.然后,用 MYNAMESPACE::DeletionToken destroy
删除那个虚拟 class;所有的subclasses和instance都会被自动干干净净。这也适用于 mixins 和 metaclasses。还要记住,TclOO 支持多重继承,所以 none 这需要打扰你现有的代码。
原生 OO 中是否有 itc::find 的替代品。
我需要删除特定命名空间中的所有 类 我的代码运行如下:
foreach class [::itcl::find classes ::MYNAMESPACE::*] {catch {::itcl::delete class $class}}
如何在本机 OO 中执行此操作?
好的 - 执行以下操作:
foreach class [info class instances oo::class ::MYNAMESPACE::*] {
catch {$class destroy}
}
最简单的方法是让你所有的 classes subclass 成为一个不需要做任何事情的虚拟 class,比如说 MYNAMESPACE::DeletionToken
.然后,用 MYNAMESPACE::DeletionToken destroy
删除那个虚拟 class;所有的subclasses和instance都会被自动干干净净。这也适用于 mixins 和 metaclasses。还要记住,TclOO 支持多重继承,所以 none 这需要打扰你现有的代码。