考虑以下简单练习:
package require Tclx
keylset myArray "v1.5" "ready"
puts $myArray
预期输出:
{v1.5 ready}
实际输出:
{v1 {{5 ready}}}
我的问题是
- 这似乎是 keylset 中的错误,我已在 8.4 和 8.5 上确认了此行为
- 我该如何解决这个问题?我尝试了多种方法引用 key 均无济于事。
最佳答案
这不是一个错误,而是一个功能。 :) 点是键控列表中的分层键分隔符。
请参阅示例以获取说明:
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
关于tcl - Tcl 8.4 和 8.5 中的 keylset 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6216471/