V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
moonbitlang
V2EX  ›  编程

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

  •  
  •   moonbitlang · 15 天前 · 221 次点击

    标准库更新

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

    image.png

    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 转义序列,比如:

    image.png

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

    image.png

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

    修改前

    image.png

    修改后

    image.png

    工具链更新

    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/

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2638 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:13 · PVG 22:13 · LAX 07:13 · JFK 10:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.