tcl - Tcl 8.4 和 8.5 中的 keylset 错误?

标签 tcl

考虑以下简单练习:

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

预期输出:

{v1.5 ready}

实际输出:

{v1 {{5 ready}}}

我的问题是

  1. 这似乎是 keylset 中的错误,我已在 8.4 和 8.5 上确认了此行为
  2. 我该如何解决这个问题?我尝试了多种方法引用 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/

相关文章:

https - 使用 TCL 请求 HTTPS 时出现问题

format - 如何在 Tcl 格式命令中转义文字 %

c - Tcl-C - 从 C 运行 Tcl Interperter 时不需要特定的包

c++ - 如何让 tcl 解释器在退出命令后不继续?

key - tcl 暂停并等待按下的键继续

linux - tcl - 检测 x11 是在 ARM 还是 x86 上运行

tcl - 将 xml 文件解析为变量

linux - 如何在 Linux tclsh 中通过光标键获取命令历史记录

android - android构建环境中的tcl编译错误

tcl - 在 tcl 脚本中,exec make check RUNTESTFLAGS ="compile.exp --target_board=atmega128-sim"不起作用