Самый простой способ определить, следует ли игнорировать строку, - это использовать string match
, особенно когда задействован буквенный символ $
(это совсем не особенное значение для string match
). Например:
set f [open $filename]
while {[gets $f line] >= 0} {
if {[string match "$$*" $line] || [string match "$ #*" $line]} {
# ignore by just going straight to the next loop iteration
continue
}
# Do the rest of your processing here...
}
close $f
Обратите внимание, что хотя $
является метасимволом внутри строк, он заменяет сам себя, если за ним не следует буква, число, двоеточие или скобка. Точки, звездочки и пробелы в порядке, как указано выше. (В противном случае вам нужно поставить обратную косую черту, \
, перед каждым символом доллара.)