【问题标题】:TCL using namespace in applyTCL 在应用中使用命名空间
【发布时间】:2016-07-16 05:04:11
【问题描述】:

我有下面的代码

set result {}
apply {x {expr {$x*100}} ns2} {1,2,4}

在上面的代码中,命名空间的重要性是什么,我如何使用命名空间变量或将结果存储到命名空间

【问题讨论】:

    标签: namespaces tcl


    【解决方案1】:

    让我们得到一个命名空间和一个命名空间变量:

    % 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
    

    它就在那里。

    文档: * (operator), apply, expr, namespace, set, variable

    【讨论】:

    • peter 我需要 tcl 代码的紧急帮助,你能帮帮我吗?我需要聊天,有什么方法可以和你聊天。
    • peter 你能给我发消息吗@ace.kartik gmail。
    • @KartikV:抱歉,我只在 Stackoverflow 上回答问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多