运行 .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 中,你可以在文件顶部声明导入,语法与包配置相同。不同之处在于:导入路径可以在模块名后可选地包含版本 @version:
///|
import {
"moonbitlang/async@0.16.5/fs",
"moonbitlang/async@0.16.5",
}
///|
async fn main {
...
}
来自同一模块的所有导入包必须使用相同版本。
如果导入路径没有显式指定版本,则会使用本地索引中的最新版本。
从 stdin 运行 .mbtx 脚本#
Moon 支持从 stdin 运行 .mbtx 脚本:
$ cat script.mbtx | moon run -
你也可以使用 heredoc(由 shell 提供的一项功能):
$ moon run - <<EOF
fn main {
println("hello")
}
EOF