.mbtx スクリプトの実行#
Moon ビルドシステムでは、モジュールやパッケージの設定ファイルがなくても MoonBit でスクリプトファイルを書けます。スクリプトファイルには特別な拡張子 .mbtx を使います。
.mbtx ファイルを実行する#
スクリプト script.mbtx を作成します:
///|
import {
"moonbitlang/core/list" @ls
}
///|
async fn main {
let xs = @ls.from_array(["1", "2", "3"])
debug(xs)
}
次に、このスクリプトを直接実行します:
$ moon run script.mbtx
.mbtx では、パッケージ設定と同じ構文でファイル先頭に import を宣言できます。違いは、import パスにモジュール名の後ろへ @version を任意で付けられる点です:
///|
import {
"moonbitlang/async@0.19.2/fs",
"moonbitlang/async@0.19.2",
}
///|
async fn main {
...
}
同じモジュールから import するすべてのパッケージは、同じバージョンを使う必要があります。
import パスで明示的にバージョンを指定しない場合は、ローカルのレジストリインデックスにある最新バージョンが使われます。
stdin から .mbtx スクリプトを実行する#
Moon は stdin から .mbtx スクリプトを実行することをサポートしています:
$ cat script.mbtx | moon run -
短いスクリプトでは、-c で .mbtx ソースを直接渡せます:
$ moon run -c "<script>"
$ moon run -c 'fn main { println("hello") }'
シェルが提供する機能である heredoc も使えます:
$ moon run - <<EOF
fn main {
println("hello")
}
EOF