在TCL编写程序

Gal*_*ese 8 tcl

我对TCL很新.只是我想知道如何编写没有参数的TCL过程以及如何调用以及如何执行它.

Don*_*ows 21

要编写不带任何参数的过程,请执行以下操作:

proc someName {} {
    # The {} above means a list of zero formal arguments
    puts "Hello from inside someName"
}
Run Code Online (Sandbox Code Playgroud)

要调用该过程,只需写下其名称:

someName
Run Code Online (Sandbox Code Playgroud)

如果它返回一个值:

proc example2 {} {
    return "some arbitrary value"
}
Run Code Online (Sandbox Code Playgroud)

然后,通过将调用括在方括号中并使用您想要使用的值的位置,您可以对返回的值执行某些操作:

set someVariable [example2]
Run Code Online (Sandbox Code Playgroud)

执行它......取决于你的意思.我假设你的意思是在Tcl程序之外这样做.这是通过使整个脚本(例如theScript.tcl)定义过程并执行调用来完成的,如下所示:

proc example3 {} {
    return "The quick brown fox"
}
puts [example3]
Run Code Online (Sandbox Code Playgroud)

那将是这样运行的:

tclsh8.5 theScript.tcl
Run Code Online (Sandbox Code Playgroud)


bmk*_*bmk 6

您可以定义如下过程:

proc hello_world_proc {} {
  puts "Hello world"
}
Run Code Online (Sandbox Code Playgroud)

你只需写下来就可以执行它:

hello_world_proc
Run Code Online (Sandbox Code Playgroud)

如果要使用过程的返回值,可以执行以下操作:

# Procedure declaration
proc hello_world_proc2 {} {
  return "Hello world"
}

# Procedure call
puts [hello_world_proc2]
Run Code Online (Sandbox Code Playgroud)


ba_*_*end 4

proc myProc {} {
    # do something
}

# call proc
myProc
Run Code Online (Sandbox Code Playgroud)