ジュリアで他のファイルに定義された関数の使用方法
概要
他のファイルにある関数を使えるようにするために、ジュリアコード自体を実行するinclude()
関数を紹介する。マットラボでは、同じディレクトリ内にあれば自動的に関数を見つけてくれるため、このプロセスを難しく考える人もいる。ちなみに、ちゃんとモジュール化してエクスポートする方法があるが1、難しくて複雑なので、機能が急に必要な初心者にはお勧めしない。パッケージを自分で作るか、プログラムの規模が扱えないほど大きくなった後にモジュール化を学んでも遅くはない。
ガイド
上記のように、foo/bar.jl
ファイルにあるbaz()
関数をmain.jl
から実行したいとしよう。スクリーンショットで確認できるように、モジュールのようなものを別に使用せず、ただ普通にジュリアコードを書けばいい。
そして、include()
でパスを指定して実行した結果は、次のようになる。
include()
の実行結果で23が表示された理由は、bar.jl
ファイルの最下部にy = 23
という値の割り当てがあったからだ。見ての通り、関数だけでなく変数も移せるし、ファイル自体を実行する方式なので、データのロードやログ出力も全部できる。
環境
- OS: Windows
- julia: v1.8.3