Tcl 8.4和8.5中的密钥集错误?

考虑以下简单的练习:

package require Tclx
keylset myArray "v1.5" "ready"
puts $myArray

预期产出:

{v1.5 ready}

实际产出:

{v1 {{5 ready}}}

我的问题是

  • 这似乎是keylset中的错误,我已经在8.4和8.5上确认了这种行为
  • 我如何解决它? 我尝试了几种方法来引用无效的关键。

  • 这不是一个错误,这是一个功能。 :)点是键控列表中的分层键分隔符。

    请参阅示例以获得解释:

    keylset myArray {v1.5} "ready" {v1.6} "empty"
    
    puts $myArray                ;# ==> {v1 {{5 ready} {6 empty}}}
    puts [keylget myArray v1]    ;# ==> {5 ready} {6 empty}
    puts [keylget myArray v1.5]  ;# ==> ready
    puts [keylget myArray v1.6]  ;# ==> empty
    

    keylset是一个Tclx命令。 我真的建议你看看Tcl 8.5的dict命令

    链接地址: http://www.djcxy.com/p/67735.html

    上一篇: keylset bug in Tcl 8.4 and 8.5?

    下一篇: Problem executing TCL script from Bourne Shell (redirection trouble)