julia - 为什么 Juila 模块必须以点为前缀?
问题描述
为什么模块using .A
必须以 dot 为前缀?如果省略点,它将不起作用。
文件./A.jl
module A
export sayHi
function sayHi()
println("hi")
end
end
文件./Main.jl
include("./A.jl")
using .A # <= Why it has to be prefixed with dot?
sayHi()
运行,启动 REPL 并输入
include("./Main.jl")
第2部分
如果你将文件移动A.jl
到不同的位置,就像../some-dir/A.jl
它必须以两个点 using ..A
为前缀。为什么?
解决方案
因为您在当前模块中定义了模块 A。点的意思是“在当前模块内部查看这个”。https://docs.julialang.org/en/v1/manual/modules/#Relative-and-absolute-module-paths-1
推荐阅读
- javascript - 当浏览器的后退按钮在Vue.js中传递时如何触发警报
- python-3.x - 如何使 pytesseract 正确读取 slahed 0
- python - 多次加载 Keras 模型时 GPU 内存泄漏
- javascript - Chrome 扩展打破了网页的原始布局
- javascript - Laravel & CORS - 创建一个可分发的 JS 小部件 - 通过 XMLHttpRequest 获取数据,被 CORS 阻止
- c# - 在抽象类构造函数中使用泛型类型
- electron - 使用 arg 超出 ipcRenderer 电子?
- windows - 批处理窗口:为所有目录和子目录中的所有 csv 添加引号
- angular - 如何比较相同对象的两个数组并将它们推送到变量中
- html - Firefox 阻止 iframe,即使来源位于同一域 (GLPI)