MoonBit更新
1. 放宽了match
的右手侧的语法,允许单个语句的出现。现在允许下面的写法:
match x {
A => return
B => return 1
C => i = i + 1
D => break
E => continue
F => while true {}
}
2. 修复formatter的各种bug,例如:
源代码
fn init {
let mut a = 1
{
{
let a = 2
f(a)
}
let a = 3
f(a)
{
let a = 4
f(a)
}
}
f(a)
}
修复前
fn init {
let mut a = 1
let a = 2
f(a)
let a = 3
f(a)
let a = 4
f(a)
f(a)
}
修复后
fn init {
let mut a = 1
{
{
let a = 2
f(a)
}
let a = 3
f(a)
let a = 4
f(a)
}
f(a)
}
3. 新增实验性inline测试机制
声明格式为fn test_*
,inline测试需要在普通的 *.mbt
文件中(而不是 *_test.mbt
)声明,它既不能有参数也不能有返回类型,例如以下写法会报错:
现在 moon test
除了会执行每个包中以 _test.mbt
结尾的测试文件,还会执行每个包中的 inline 测试。
构建系统更新
1. moon new
给各个选项增加了默认值,用户可以使用回车选择默认值
$ moon new
Enter the path to create the project (. for current directory) [default: myproject] >
Enter the create mode (exec or lib) [default: exec] >
Enter your username [default: username] >
Enter the package name [default: hello] >
Enter your license [default: Apache-2.0] >
Created my-project
2. moon.mod.json
增加license和repository字段。
license表示这个mooncakes.io所使用的licencse,必须符合spdx标准。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。