Juliaのモジュールの使い方について調べたのでメモ。
以下のような TestModule.jl
を使うことを考える
module TestModule
function add(a, b)
return a + b
end
export add
function sub(a, b)
return a - b
end
end
これをファイル内で読み込むには以下のようにする
include("TestModule.jl")
println(TestModule.add(1, 2))
println(TestModule.sub(1, 2))
include("TestModule.jl")
using .TestModule
println(add(1, 2)) # using かつ export しているのでこのように呼び出せる
println(TestModule.sub(1, 2))
include
すると、外部のファイルを現在のファイルに読み込むことができる。
また、export
することで、using
を使ってモジュール内の関数を呼び出すことができる。
次の実装はエラーになる
include("TestModule.jl")
println(add(1, 2))
# ERROR: UndefVarError: add not defined
include("TestModule.jl")
using .TestModule
println(add(1, 2))
println(sub(1, 2))
# ERROR: LoadError: UndefVarError: `sub` not defined