統計や機械学習に関するプログラミングではPythonやRが用いられることが多いですが、近年Juliaも注目を集めています。そこで当シリーズではJuliaの基本構文からライブラリの用い方などについて取りまとめます。当記事では新しいモジュールの定義について取りまとめを行いました。
・Julia入門
https://www.hello-statisticians.com/julia
・Julia 1.8 Documentation
https://docs.julialang.org/en/v1/
Contents
モジュールの定義
モジュールは下記のように定義することができます。
module Greeting1
hello(name) = println("Hello, $(name).")
end
Greeting1.hello("Julia")・実行結果
Hello, Julia.上記ではGreeting1モジュールにhello関数の定義を行いました。Greeting1.helloを実行することでhello関数を実行することができます。
モジュールの相対パス指定
前節ではモジュールの定義のみを行いましたが、Mainモジュールからの相対パスに基づいてモジュールを読み込むことができます。下記ではMainモジュールからの相対パス.Greeting2を用いることでGreeting2の読み込みを行いました。
module Greeting2
export hello
hello(name) = println("Hello, $(name).")
goodbye(name) = println("Goodbye, $(name).")
end
Greeting2.hello("Julia")
Greeting2.goodbye("Julia")
using .Greeting2
hello("Julia")
goodbye("Julia")・実行結果
Hello, Julia.
Goodbye, Julia.
Hello, Julia.
UndefVarError: goodbye not definedモジュールを読み込む際にモジュール定義の中でexportで指定した関数はモジュールを読み込むとそのまま使用することができます。上記の例ではexport helloがあるので、helloはそのまま実行できる一方でgoodbyeはそのまま実行できないことが確認できます。
参考
・Julia 1.8 Documentation
https://docs.julialang.org/en/v1/
