在支持 Python 的 range 之外,木蘭還支持如下的等價語法。個人感覺這樣的語法更直觀易讀一些:
for 數 in 0..2 { println(數)}
輸出:
012
for 數 in 0..<2 { println(數)}
輸出:
01
這是本周重現的語法。
for 數 in 4..-1 by -2 { println(數)}
輸出:
420
左閉右開區間:
for 數 in 0..<4 by 2 { println(數)}
輸出:
02
下面是幾個主要部分的代碼行數統計,格式為:上周->本周。
僅添加 by 語法並沒有那麼大代碼量,主要是語法分析器中原本的字符串格式的語法規則比如下面:
@分析器母機.production(&39;)
將各個語法因素提取成了枚舉類型:
@unique class 語法(Enum): 表達式 = &39; 範圍表達式 = &39; ...
對應的語法規則改為了:
@分析器母機.production(語法.範圍表達式.成分(語法.表達式, 點點小於, 語法.表達式))
可讀性的削弱還可接受,至少能減少筆誤的機會。
開發時用了 VS Code 下的中文代碼快速補全插件(文末為官方插件商店連結),支持各種程式語言,加強了針對中文的 IDE 補全功能,編寫中文代碼時可以省去不少功夫。