MoonBit 标准库已有 200+ PR 提交,同时 MoonBit 支持对 Vec 进行模式匹配,还有更多更新……

18次阅读

共计 1027 个字符,预计需要花费 3 分钟才能阅读完成。

标准库更新

自 3 月 MoonBit 标准库开源以来,我们已经接收到 221 个 PR 🩷,吸引了 26 位贡献者进行代码贡献,贡献了近一万多行优质的代码。感谢所有贡献者对于 MoonBit 的热情与支持,正是你们的参与推动着我们不断进步。

MoonBit 标准库已有 200+ PR 提交,同时 MoonBit 支持对 Vec 进行模式匹配,还有更多更新……

MoonBit 更新

模式匹配中拓展了 array pattern

  • 支持标准库中的 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
}

IDE 更新

1. 在线 IDE 的打印输出从 Output 频道改为终端

修复了 Firefox 浏览器上输出偶尔被截断的问题,浏览器上的代码可以使用 ANSI 转义序列,比如:

MoonBit 标准库已有 200+ PR 提交,同时 MoonBit 支持对 Vec 进行模式匹配,还有更多更新……

2. 支持 x |> @pkg. 形式的补全

MoonBit 标准库已有 200+ PR 提交,同时 MoonBit 支持对 Vec 进行模式匹配,还有更多更新……

3. 矩阵函数不再显示 inlay hint

修改前

MoonBit 标准库已有 200+ PR 提交,同时 MoonBit 支持对 Vec 进行模式匹配,还有更多更新……

修改后

MoonBit 标准库已有 200+ PR 提交,同时 MoonBit 支持对 Vec 进行模式匹配,还有更多更新……

工具链更新

1. 工具链新增(实验性的)测试覆盖率工具

(注意:目前暂不支持 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 指令清除之前的覆盖率数据输出。

2. 构建系统添加 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

3. moonfmt 修复尾部逗号导致的注释错位的问题

4. moon 修复了文件路径中不能包含空格的问题

MoonBit 官网:https://www.moonbitlang.cn/

正文完
 0