【发布时间】:2018-01-09 04:08:53
【问题描述】:
我刚从 TCL 开始,并试图了解如何最好地定义和集成模块。似乎在包+命名空间概念上投入了很多精力,但据我所知,interp 对于每一个可以想象的场景都更强大、更精简。特别是当涉及到隐藏和重命名程序时,全局命名空间中也缺少蠕变。使用包+命名空间的唯一原因似乎是因为“从前 Sun 这么说”。
我什么时候应该使用包+命名空间而不是 interp?
【问题讨论】:
-
在大型应用程序中节省内存,当您对解释器的构造和销毁有性能问题时(比命名空间管理成本更高)。我建议您阅读文档并根据您的应用程序要求做出决定。应用程序是如此广泛,以至于立即驳回
interp或namespace是不明智的。一般情况下,interp创建一个由主interp管理的从解释器。每个 interp 都有自己的命名空间。因此,您可能会通过创建 interps 来浪费资源。但是你的需求应该决定你使用什么。
标签: tcl