upvar

    1热度

    1回答

    我收到了这个奇怪的问题。 我使用TCL 8.3 后,我在TCL壳定义这个PROC % proc incr { varName {amount 1}} { puts $varName upvar #0 $varName var puts $varName if {[info exists var]} { set var [expr $var + $

    2热度

    1回答

    我有两个procs:从MAIN我打电话给另一个proc Glob。 $Allforces是列表的列表。 proc ::MAIN {} { # something ::Glob $AllForces } proc ::Glob {Input} { upvar $Input AllForces # do something } 我得到 “No suc

    3热度

    3回答

    想从TCL专业人士的建议最佳实践。 假设您想通过使用proc构造一个包含特定数据的列表。现在哪个是最好的方法? proc processList { myList } { upvar $myList list_ #append necessary data into list_ } proc returnList {} { set list_ {} #

    2热度

    1回答

    Upvar创建指向different stack frame中变量的链接,有时称为call stack或different scope。 Upvar还用于为全局(或名称空间)变量2创建别名。但是命名空间仅由namespace eval命令创建。一个新的堆栈框架由proc命令创建。 命名空间和调用堆栈似乎是TCL naming context可以更改的两种方式。 Upvar和Uplevel可以在名称

    1热度

    2回答

    这涉及到Tcl的8.5 说我有一个非常大的字典。 从视图(内存占用等)性能点,假设我不能修改字典做,应该upvar提供在内存方面一个巨大的性能提升?我正在使用具有TCL外壳的EDA工具,但供应商禁用了TCL内存命令。我知道的Tcl可以在引擎盖下分享字符串性能...相同的字典可以通过多个嵌套特效的叫声。 谢谢。

    1热度

    3回答

    我需要一个能够从调用者的名称空间访问,读取和更改变量的过程。该变量被称为_current_selection。我试图用几种不同的方式使用upvar,但没有任何工作。 (我写了一个小测试程序来测试upvar机制)。这里是我的尝试: 调用PROC: select_shape $this _current_selection PROC: proc select_shape {main_gui var