2016-10-13 16 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 
相關問題