在一段时间的条件中,我正在读取分配,然后测试一个变量作为布尔表达式。
假设我正在读取一个文件并想丢弃注释行。但下面的代码不会进入循环。puts 永远不会打印。
while {[gets $fp line] >= 0 && [regexp {^#} $line] ==0} {
puts "Got valid data"
}
似乎行的获取分配和它的评估不能处于同一条件中。这在 TCL 规范中得到证实了吗?
当然,这个方法可行,但我希望在一个语句中完成条件判断。
while {[gets $fp line] >= 0 } {
if {[regexp {^#} $line] == 0 } {
puts "Got valid data"
}
}
干杯。