2011-08-02 205 views

回答

7

在Stata,有兩種類型的腳本:

  1. 有做-文件,這些文件在您鍵入的命令序列,其中可能包含相當多的東西, 和
  2. 有是ado文件,它們是自包含的程序腳本。 Ado代表「自動加載的DO文件」。

的主要區別在於執行DO-文件,你需要do它或run它:

do whatever.do 

顯示輸出,並

run whatever.do 

抑制輸出。

自動加載的do-files,顧名思義,會自動加載。當您鍵入

blah blah1 blah2 

塔塔會先尋找在內存中的程序blah。如果不存在,它將在其adopath中標識的子目錄中尋找文件blah.ado,默認包括Stata自己的目錄以及當前目錄(如果您有興趣,請鍵入adopath以獲得更多信息)。如果它發現這個blah.ado,它會(1)確保它裏面有program define blah,並且(2)嘗試用你提供的任何參數(blah1 blah2)來執行這個程序。如果未能找到該文件blah.ado的任何地方,它會發出一個錯誤信息:

. blah blah1 blah2 
    unrecognized command: blah 
    r(199); 
+1

可以肯定有一個.ado文件中定義多個程序。在這種情況下,頂級程序可以調用稍後的程序。許多使用的.ado文件都是以這種方式構建的。我不確定Stata如何處理與過時的其他程序之間的命名衝突,但它很容易測試。 – Keith

相關問題