2016-10-13 23 views
1

我想通过从单一方法调用它们来集中执行各种方法,就像java中的主要方法..有没有办法在tcl中做到这一点?在tcl中创建一个主要的方法?

我到处寻找答案,但迄今没有运气。另一种方法是在函数中设置标志,这样代码块才会在标志具有特定值时执行,但这是一个繁琐的过程,因为程序中有很多过程。

任何帮助,非常感谢。感谢

实施例(伪代码):

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

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

回答

2

Tcl的可以被看作是一种脚本语言。 Tcl脚本的主体是主要方法。因此,你并不需要一个主要的方法。从过程调用的程序是标准功能:

proc func1 {} { 
    puts A 
} 

proc func2 {} { 
    puts B 
} 

proc Main {} { 
    func1 
    func2 
} 

Main 

A 
B 

Main,必须以明确要求func1func2执行。

只把Main内容到script body产生相同的结果做一些main样的

+0

我倾向于自己使用这种策略。将'$ argv'传递给Main,如Donal所示,或将'global argc argv'添加到Main pro的顶部。 –

2

一种方式是使用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 
相关问题