首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

tcl脚本的一个有关问题:遍历文件夹

2012-03-03 
tcl脚本的一个问题:遍历文件夹我用下面的代码找到了一个文件夹中的所有.c文件,做相关的处理foreach f [glo

tcl脚本的一个问题:遍历文件夹
我用下面的代码找到了一个文件夹中的所有.c文件,做相关的处理
foreach f [glob nocomplain "*.c"] {
if {[string compare $f "ew_code.c"] == 0} {
continue
}

  regsub {\.c} $f {.o \\} newstr
puts $ifo $newstr
  //如果是最后一个.c,则
  //regsub {\.c} $f {.o} newstr
// puts $ifo $newstr
}
如何判断是最后一个.c文件

[解决办法]
另外你这个问题的典型解决方案是join,而不是手动判断当前列表是不是在尾巴。

Perl code
puts [join your-list " \\\n"]
[解决办法]
Practical Programming in Tcl and Tk, Fourth Edition
Chapter 5. Tcl Lists

另外Tcl里的array不是平常我们说的数组,而是一个字典(也叫hashmap之类的)。
[解决办法]
有一个比较简单的方法可以实现对最后一个匹配项的处理,设置一个变量,在循环中每个都给这个变量赋值,循环结束之后这个变量中的内容就是最后一个的值:

[code=Per]set laststr " "
foreach f [glob nocomplain "*.c "] {
if {[string compare $f "ew_code.c "] == 0} {
continue
}

regsub {\.c} $f {.o \\} newstr
puts $ifo $newstr
set laststr $newstr
}

if {$laststr != " "} {
# 最后一个.c的处理
puts $ifo $laststr
}[/code]

热点排行