自 3 月 MoonBit 标准库开源以来,我们已经接收到 221 个 PR 🩷,吸引了 26 位贡献者进行代码贡献,贡献了近一万多行优质的代码。感谢所有贡献者对于 MoonBit 的热情与支持,正是你们的参与推动着我们不断进步。
支持标准库中的 Vec
类型
支持更通用的 array pattern:如 [a, .., b]
fn main {
let xs = @vec.from_array([1, 2, 3])
match xs {
[1, .., 3] => { println("ok")}
_ => println("not ok")
}
// Output: ok
}
修复了 Firefox 浏览器上输出偶尔被截断的问题,浏览器上的代码可以使用 ANSI 转义序列,比如:
x |> @pkg.
形式的补全修改前
修改后
(注意:目前暂不支持 Windows 端)
moon test
支持 --enable-coverage
选项,开启后会在运行时统计测试对当前程序的覆盖率。
加入 moon coverage
指令,用于读取和处理覆盖率统计数据
在测试完成之后,可以使用 moon coverage report -f <格式>
输出覆盖率数据。支持的输出格式包括:
bisect ( OCaml Bisect 工具的输出格式,默认)
html (输出统计结果网页)
coveralls (适合 CodeCov 和 Coveralls 工具上传的 JSON 格式)
summary (在终端中输出简报)
更多功能可以通过 moon coverage report -h
查看
可以使用 moon coverage clean
指令清除之前的覆盖率数据输出。
moon info
命令,用于生成包的公开接口描述文件,使用示例如下:(注意:目前暂不支持 Windows 端)
$ moon new hello
$ cd hello
$ moon info
$ cat lib/lib.mbti
package username/hello/lib
// Values
fn hello() -> String
// Types and methods
// Traits
// Extension Methods
MoonBit 官网: https://www.moonbitlang.cn/