String TCL以合理的开销获取字符串中当前元素的索引
我将一个文件读入一个字符串,并用换行符拆分元素String TCL以合理的开销获取字符串中当前元素的索引,string,tcl,String,Tcl,我将一个文件读入一个字符串,并用换行符拆分元素 if {[file exists $inputFile] == 1} { set fpI [open $inputFile r] set input [read $fpI] set lines [split $input "\n"] close $fpI } else { return "File does not exsist" } 现在,我想逐行检查整个文件,当我得到某些条件的匹配时,我想存储行#,实际
if {[file exists $inputFile] == 1} {
set fpI [open $inputFile r]
set input [read $fpI]
set lines [split $input "\n"]
close $fpI
} else {
return "File does not exsist"
}
现在,我想逐行检查整个文件,当我得到某些条件的匹配时,我想存储行#,实际上,它是$lines字符串中的元素号。如何在不使用额外变量和不每次运行搜索的情况下获取行号(高开销)?到目前为止,最简单的机制是保留自己的行号计数器。尽管
foreach
确实有一个内部索引计数器,但它根本不向脚本公开
set lineNumber 0
foreach line $lines {
incr lineNumber
# ...
}
set lineNumber 0
foreach line $lines {
incr lineNumber
# ...
}