在支持 Python 的 range 之外,木兰还支持如下的等价语法。个人感觉这样的语法更直观易读一些:
for 数 in 0..2 {
println(数)
}
输出:
0
1
2
for 数 in 0..<2 {
println(数)
}
输出:
0
1
这是本周重现的语法。
for 数 in 4..-1 by -2 {
println(数)
}
输出:
4
2
0
左闭右开区间:
for 数 in 0..<4 by 2 {
println(数)
}
输出:
0
2
下面是几个主要部分的代码行数统计,格式为:上周->本周。
仅添加 by 语法并没有那么大代码量,主要是语法分析器中原本的字符串格式的语法规则比如下面:
@分析器母机.production('范围表达式 : 表达式 点点小于 表达式')
将各个语法因素提取成了枚举类型:
@unique
class 语法(Enum):
表达式 = 'expr'
范围表达式 = 'range_expr'
...
对应的语法规则改为了:
@分析器母机.production(语法.范围表达式.成分(语法.表达式, 点点小于, 语法.表达式))
可读性的削弱还可接受,至少能减少笔误的机会。
开发时用了 VS Code 下的中文代码快速补全插件(文末为官方插件商店链接),支持各种编程语言,加强了针对中文的 IDE 补全功能,编写中文代码时可以省去不少功夫。
页面更新:2024-03-09
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号