2017-01-25 19 views
0

如何捕获计算表达式,但仍然继续处理直到完成并在脚本下方;如何检查数学结果是否正确

set vars {33 53 65t 43 word 55 d} 
foreach varList $vars { 
if {[expr {$varList/$varList}] == 1} { ;#I am stuck maths here if its not numerics string 
    set mathVar $varList 
} else { 
    set mathVar "Invalid" 
} 
} 

谢谢!

回答

1

你会想string is integer

foreach var $vars { 
    if {[string is integer -strict $var]} { 
     set mathvar $var 
    } else { 
     puts "not an integer: $var" 
     set mathvar 0  ;# or some default value 
    } 
} 
+0

我已经试过[字符串是双-strict是$ var],但坏的选择“是”,并按摩说:一定要比较,首先,指数,最后,长度,匹配,范围,tolower,toupper,trim,trimleft,trimright,wordend或wordstart。任何其他决定要做到这一点.. – Andre

+2

@Andre:你正在使用哪个Tcl版本? –

+0

我正在使用8.5。可以使用正则表达式? – Andre