我致力于解决两个密切相关的问题的数字代码。以下对我来说似乎是一个很好的代码结构:
module Problems
common_function(i) = println("Solving problem ", i)
module Problem1
solve() = common_function(1)
end # module Problem1
module Problem2
solve() = common_function(2)
end # module Problem2
end # module Problems
不幸的是,它不起作用:运行 Problems.Problem1.solve()
导致 ERROR: common_function not defined
。这可以修复吗?
备注:每个模块我有不止一个函数,因此用 problem1_solve()
函数替换 Problem1
模块并不是一个很好的解决方案。
最佳答案
在 1.0 版中,您必须从 relative path 导入给家长:
module Problems
common_function(i) = println("Solving problem ", i)
module Problem1
import ..Problems: common_function
solve() = common_function(1)
end # module Problem1
end # module Problems
这也适用于 using ..Problems
。
关于julia - 外部模块的引用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32518131/