2016-10-13 10 views
1

私は、さまざまなメソッドの実行を、javaのメインメソッドのように単一のメソッドから呼び出すことで集中化したいと思います。これはtclでこれを行う方法ですか?tclにmainメソッドを作成しますか?

私はすべての答えを探しましたが、これまでのところ運はありません。これを行う別の方法は、関数内にフラグを設定することです。そのため、コードブロックはフラグに特定の値がある場合にのみ実行されますが、プログラムには多くの手続きがあるので面倒な処理です。

ご協力いただきまして誠にありがとうございます。おかげ

例(擬似コード):

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 

Mainfunc1func2実行するためには、明示的に呼び出す必要があります。ただ、script bodyMain内容を置く

は何かmain様を行う

+0

私はこの戦略を自分で使用する傾向があります。 Donalが示すように '$ argv'をMainに渡すか、メインprocの先頭に' global argc argv'を追加してください。 –

2

一つの方法は、ラムダアプリケーションを使用することで同じ結果を生成します。これをやっているなら、スクリプトの引数を渡すと役に立つことがよくあります。

# 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 
関連する問題