Scripting 在tcl中创建主方法?

Scripting 在tcl中创建主方法?,scripting,tcl,main,tk,Scripting,Tcl,Main,Tk,我想通过从一个方法调用各种方法来集中执行它们,就像java中的主方法一样。在tcl中有什么方法可以做到这一点吗 我到处寻找答案,但到目前为止运气不好。另一种方法是在函数中设置标志,使代码块仅在标志具有特定值时执行,但这是一个繁琐的过程,因为我的程序中有很多过程 非常感谢您的帮助。谢谢 伪代码示例: func1 () {...} func2 () {...} main method () { int a, b func1(a) func2(b) } Tcl可以看作是一种脚本语言。T

我想通过从一个方法调用各种方法来集中执行它们,就像java中的主方法一样。在tcl中有什么方法可以做到这一点吗

我到处寻找答案,但到目前为止运气不好。另一种方法是在函数中设置标志,使代码块仅在标志具有特定值时执行,但这是一个繁琐的过程,因为我的程序中有很多过程

非常感谢您的帮助。谢谢

伪代码示例:

func1 () {...}
func2 () {...}

main method () {
  int a, b
  func1(a)
  func2(b)
}

Tcl可以看作是一种脚本语言。Tcl脚本的主体是主要方法。因此,您实际上不需要main方法。从过程调用过程是标准功能:

proc func1 {} {
    puts A
}

proc func2  {} {
    puts B
}

proc Main {} {
    func1
    func2
}

Main
必须显式调用Main才能执行func1和func2


只需将主要内容放入中,就会产生相同的结果

Tcl可以被视为一种脚本语言。Tcl脚本的主体是主要方法。因此,您实际上不需要main方法。从过程调用过程是标准功能:

proc func1 {} {
    puts A
}

proc func2  {} {
    puts B
}

proc Main {} {
    func1
    func2
}

Main
必须显式调用Main才能执行func1和func2


只需将主要内容放入中就会产生相同的结果

一种类似于主要内容的方法是使用lambda应用程序。如果您正在这样做,那么传入脚本参数通常会很有帮助

# Usual stuff at the top of a script
pacakge require Tcl 8.5
package require pkgABC
package require pkgDEF

proc GHI {} { ... }

apply {{a b args} {
    # This part now works like main() in C or Java or ...
}} {*}$argv

一种类似main的方法是使用lambda应用程序。如果您正在这样做,那么传入脚本参数通常会很有帮助

# Usual stuff at the top of a script
pacakge require Tcl 8.5
package require pkgABC
package require pkgDEF

proc GHI {} { ... }

apply {{a b args} {
    # This part now works like main() in C or Java or ...
}} {*}$argv

我倾向于自己使用这种策略。如Donal所示,将$argv传递给Main,或者将全局argc argv添加到主进程的顶部。我倾向于自己使用此策略。如Donal所示,将$argv传递给Main,或者将全局argc argv添加到主进程的顶部。