在TCL中的命令行中传递参数

时间:2013-04-03 20:44:06

标签: tcl

来自Tcl FAQ for Windows

  

要运行控制台脚本,请调用tclsh.exe程序,并将其传递给脚本文件。命令行上的任何其他参数都作为列表传递给argv全局变量

中的脚本
# File printargs.tcl
foreach arg $::argv {puts $arg} 
     

我们可以从命令行调用此脚本:

c:\> tclsh printargs.tcl first "second arg"
first
second arg
c:\>

我能够做到这一点 但这是如何工作的呢? 争论如何进行?

注意:我是初学者。如果我没达到标准。

1 个答案:

答案 0 :(得分:3)

如果您了解对Tcl的调用是如何工作的,那么您应该知道在下一行中,给出了两个参数,即第一个和“第二个arg ”(需要引号以确保第二个参数由两个单词组成:

c:\> tclsh printargs.tcl first "second arg"

然后是以下说明:

foreach arg $::argv {puts $arg} 

...利用控制结构:

foreach <variable-name> <list> { <commands> }

因此, arg 是变量名称(读取此变量需要添加$ sign - &gt; $ arg)。

$ :: argv 实际上是一个全局变量,包含命令行参数列表(包含第一个和“第二个arg ” )。

puts $ arg 是将$ arg变量的内容打印到屏幕的命令。

但是可能还有更简单的例子。如果您想扩展自己的技能,请阅读一些Tcl / Tk教程或书籍。 Brent Welch的 Tcl / Tk实用编程是一个良好的开端。