2016-07-18 27 views
4

我在Windows 8.1上使用Stata 14.1,並將我的個人.ado文件移動到GitHub存儲庫。這將foo.ado放在「C:/ Users/Richard/Documents/GitHub/bar /」中的「C:/ Users/Richard/Documents/GitHub/foo /」,bar.ado等等中。Stata應該遞歸搜索用戶添加的過期目錄嗎?

我在adopathadopath + "C:/Users/Richard/Documents/GitHub/"之間添加了GitHub根目錄,但是Stata沒有爲.ado文件搜索「foo」,「bar」和其他子目錄。我通過添加與adopath + "C:/Users/Richard/Documents/GitHub/foo"等foo.ado存儲庫來解決此問題。

我希望Stata以遞歸方式搜索「C:/ Users/Richard/Documents/GitHub /」,因爲它對BASE,SITE和​​這樣做。遞歸搜索僅限於默認的adopath目錄嗎?公平地說,向adopath添加10個目錄並不困難,但我想遵循最佳實踐。除了help adopath1996 FAQ之外,我找不到很多adopath

回答

5

Stata不完全遞歸搜索BASE,SITE和PLUS。它搜索每個目錄,並在該目錄內搜索恰好一個以其名稱命名的第一個字母的子目錄。

在PERSONAL內部,我創建了子目錄f並放置在其中foo.ado。當我將命令foo鍵入Stata的命令窗口時,Stata發現foo.ado並在其中運行程序。

這並不能直接解決您的問題,但它確實表明Stat將PERSONAL與其他目錄一致對待,降低了說服StataCorp實施您的建議的可能性,但確認您的解決方法似乎是「最佳實踐」如他們。

在我的Mac,我改名目錄fgnxl,然後在終端窗口

cd ~/Library/Application Support/Stata/ado/personal 
ln -s gnxl/foo.ado . 

之後,射出並重新啓動的Stata,如預期進行foo命令。也許這爲你指明瞭一個方向,隨着一些自動化生成符號鏈接,因爲在存儲庫中創建了新的ado文件。我不知道GitHub是否可以在其框架內實現這一點。

+0

非常清楚!並且實際上包含在鏈接的FAQ中。我只是需要重新閱讀Stata的建議。 「請繼續閱讀,這些例子將突出顯示所有內容,然後再次閱讀以上內容,這應該更有意義。」 –