Julia中是否有include_once函数或宏 中有一个包含/方法,其中包含< /COD>文件一次,如代码>p>

Julia中是否有include_once函数或宏 中有一个包含/方法,其中包含< /COD>文件一次,如代码>p>,julia,Julia,这个答案对评论做了一些详细的阐述。对于像我这样的初学者来说,他们无意中发现了这篇文章,试图了解文件组织的基础知识(在开始学习更高级的主题,如模块和包创建之前),并且想知道为什么没有一种简单的方法来做像C++的头保护之类的事情 关键是将所有内容都包含在“最低级别”文件中一次,而不是其他任何地方。例如:假设您有main.jl、A.jl、B.jl和C.jl。假设: -main.jl需要A.jl和B.jl以及C.jl -A.jl需要B.jl和C.jl -B.jl需要C.jl 这里的关键是不要在A.jl和

这个答案对评论做了一些详细的阐述。对于像我这样的初学者来说,他们无意中发现了这篇文章,试图了解文件组织的基础知识(在开始学习更高级的主题,如模块和包创建之前),并且想知道为什么没有一种简单的方法来做像C++的头保护之类的事情

关键是将所有内容都包含在“最低级别”文件中一次,而不是其他任何地方。例如:假设您有main.jl、A.jl、B.jl和C.jl。假设:

-main.jl需要A.jl和B.jl以及C.jl

-A.jl需要B.jl和C.jl

-B.jl需要C.jl

这里的关键是不要在A.jl和B.jl中使用include语句。相反,您可以找到“最低级别”文件,在本例中是main.jl,并将所有include语句按正确的顺序放在那里。在main.jl中:

include("C.jl")
include("B.jl")
include("A.jl")

然后在其他任何地方都没有include语句。有关这方面的更多信息,请参阅,特别是用户a5sk6n在评论中的出色回答。

不,这不是Julia代码的组织方式。只包含一个文件一次,但多次使用该文件中的模块。我知道使用模块是重用代码的更好方法。如果也进行了预编译,则它比include快。然而,在某些情况下,可能需要
包括
。我有几个宏可以计算全局范围(例如生成函数)。如果我将这些宏放在一个模块中,它们将被计算到模块范围,而不是调用它们的全局范围。在这种情况下,如何组织这些宏?