我试图在另一个文件(模块)2中使用一个文件(模块1)内的函数。但它给了我一个错误&;error: UndefVarError: t1 not defined&;。我试图导出模块1的功能,但它也不起作用。我是Julia的新手,我不太了解如何处理模块。这是我遇到问题的代码。
第一个文件:t1.jl
module A
function soma(a::Int64, b::Int64)
return a + b
end
end
第二个文件:t2.jl
module B
include("t1.jl")
using .t1
function main()
s = soma(2, 3)
println(s)
end
main()
end
jl:
module B
include("t1.jl")
using .A
function main()
s = A.soma(2, 3)
println(s)
end
main()
end
打印出5。
include
基本上就像您将代码从包含的文件复制粘贴到当前文件中一样-因此,一旦您将include
dt1.jl
放入模块B中,该文件称为t1.jl
的事实就没有关系了。module A
在当前作用域中,A
是包含我们需要的soma
函数的名称空间。因此,using .A
是使soma
在B
中可用所必需的。