TCL括号和可变范围

时间:2016-01-06 21:28:16

标签: tcl

我有一些奇怪的TCL行为,我不了解使用大括号和变量范围。在下面的两行代码中,我创建了一个变量quickMode并将其设置为0.然后我尝试在三元组中使用该变量并应用大括号来停止双重转换。我收到一个错误,指出无法读取quickMode并且不是变量。如果我删除花括号,我清除错误。任何人都可以解释这种行为吗?

set quickMode 0
set frameSizeIncrement      [ mpexpr {$quickMode == 1 ? 600 : 3}]

can't read "quickMode": no such variable
    while executing
"expr {$quickMode == 1 ? 600 : 3}"
    ("eval" body line 1)
    invoked from within
"eval expr $args"
    (procedure "mpexpr" line 1)
    invoked from within
"mpexpr {$quickMode == 1 ? 600 : 3}"
    invoked from within
"set frameSizeIncrement      [ mpexpr {$quickMode == 1 ? 600 : 3}]"
    (file "tests/basics/ingress_egress.tcl" line 101)

0 个答案:

没有答案