【发布时间】:2016-07-16 05:04:11
【问题描述】:
我有下面的代码
set result {}
apply {x {expr {$x*100}} ns2} {1,2,4}
在上面的代码中,命名空间的重要性是什么,我如何使用命名空间变量或将结果存储到命名空间
【问题讨论】:
标签: namespaces tcl
我有下面的代码
set result {}
apply {x {expr {$x*100}} ns2} {1,2,4}
在上面的代码中,命名空间的重要性是什么,我如何使用命名空间变量或将结果存储到命名空间
【问题讨论】:
标签: namespaces tcl
让我们得到一个命名空间和一个命名空间变量:
% namespace eval example {variable result 0}
使用variable 命令将名称result 声明为lambda 中的命名空间变量:
% apply {x {variable result ; set result [expr {$x * 100}]}} 3
% set ::example::result
# => 0
% set ::result
# => 300
lambda 使用全局命名空间,因为我们没有指定任何命名空间。
% apply {x {variable result ; set result [expr {$x * 100}]} ::example} 3
% set ::example::result
# => 300
它就在那里。
【讨论】: