【发布时间】:2021-12-22 18:04:43
【问题描述】:
这里的 TCL 非常新/生锈 :-(。我被 tcl 8.6 卡住了,无法在 dict 上利用 tcl 8.7 的 getwithdefault 功能。
尝试了以下并得到错误说“frameLen”不是字典的一部分。但我认为三元运算符应该跳过[dict get $pktBlock frameLen] 上的部分。我做错什么了?
谢谢!
package require json
set pktBlock [json::json2dict {{"frameLenn": 253}}]
set frameLen [expr [dict exists $pktBlock framelen] ? [dict get $pktBlock frameLen]: 256 ]
【问题讨论】:
-
我有一个例程为此向 dict 集合添加一个新命令。当我有机会时,我会尝试提出答案
-
谢谢肖恩,如果有机会,请添加它作为答案。我很想看看。
-
最好的做法是(几乎)总是“支持你的表达”。这适用于
expr命令,也适用于if和while。请参阅Brace your expr-essions 和ifwiki page 上的类似讨论
标签: tcl