2017-07-06 38 views
1

我有以下文件結構:如何在不更改main.rs的情況下從另一個頂級模塊訪問頂級模塊中的項目?

main.rs 
-- module_a 
    -- mod.rs 
output.rs 

output.rs,我有一個名爲log_info()功能,我想從module_a/mod.rs調用它。

我可以把mod output;main.rs之後,我可以從module_a/mod.rs引用它,但我不喜歡我的所有的依賴放在main.rs爲了在我的應用程序中使用它們。

有沒有什麼辦法可以參考輸出模塊module_a/mod.rs沒有與main.rs搞亂?

回答

1

有沒有什麼辦法可以引用module_a/mod.rs中的輸出模塊而不會搞亂main.rs?

號每個模塊(包括main.rslib.rs箱子入口點)有明確定義哪些模塊是它的孩子。


你可以不過移動output模塊是module_a一個孩子。

+0

好的,謝謝你的回答,但我該如何解決這個問題?當我在項目中有許多共享的功能/模塊時。例如,我把每個枚舉分開的文件,這是我的問題。也許這不是如何做到這一點的最佳做法。 – Legom

+1

@Legom *我把每個枚舉分隔文件* - 我不這樣做,所以它沒有問題。我的大部分箱子都有少量的文件;我懷疑有超過10個,我有一個項目,其中一個文件是200K。如果你真的發現自己無法接受這種結構,那麼可以使用['include!'](https://doc.rust-lang.org/std/macro.include.html)作爲可怕的黑客攻擊。 – Shepmaster

+0

是的,我已經閱讀過關於包括但如你所說,它感覺不對。 – Legom

相關問題