Tcl 8.4 和 8.5 中的 keylset 错误?
考虑以下简单的练习:
package require Tclx
keylset myArray "v1.5" "ready"
puts $myArray
预期输出:
{v1.5 ready}
实际输出:
{v1 {{5 ready}}}
我的问题是
- 这似乎是 keylset 中的错误,我已在 8.4 和 8.5 上确认了此行为
- 我该如何解决它?我尝试了多种方法引用密钥均无济于事。
Consider the following simple exercise:
package require Tclx
keylset myArray "v1.5" "ready"
puts $myArray
The expected output:
{v1.5 ready}
The actual output:
{v1 {{5 ready}}}
My questions are
- This seems to be an error in keylset, I have confirmed this behavior on both 8.4 and 8.5
- How do I get around it? I have tried several ways to quote the key to no avail.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这不是一个错误,而是一个功能。 :)
点是键控列表中的分层键分隔符。
请参阅示例进行解释:
It's not a bug, it's a feature. :)
Dot is a hierarchical key separator in keyed list.
See the example for explanation:
keylset 是一个 Tclx 命令。我真的建议您查看 Tcl 中的 dict 命令8.5
keylset is a Tclx command. I would really recommend you to take a look to the dict command from Tcl 8.5