ab st语言编程手册_木兰编程语言 0.0.14.7:功能覆盖初版用户手册;Gitee Go 流水线尝鲜...
木蘭編程語言 在 2020 年度 OSC 中國開源項目評選 中已獲得 26 票,請投票支持!
年初對原始木蘭可執行文件 ulang-0.2.2.exe 作了些功能上的摸索嘗試,將基本功能寫在初版用戶手冊。開展重現項目之后,一直沒重走一遍手冊中的例程。上周終于完成了這個綜合各部分功能的”小測驗“,大部分例程在上一版本就能正確運行,余下的小部分在這個版本中也通過了。
【安裝:pip install ulang,用法與例程請見 PyPI。源碼位于開源中國。 注意:必需 python 3.7,源碼文件需 UTF-8 編碼】
此版本重現功能
字符串轉義
比較特別的是反斜杠(木蘭交互環境下效果):
> 'c'+'name' cname在 Python 中反斜杠如果未配對,會報語法錯誤:
>>> print('')File "<stdin>", line 1print('')^ SyntaxError: EOL while scanning string literal >>> print('')File "<stdin>", line 1print('')^ SyntaxError: EOL while scanning string literal配對后 Python 的效果:
>>> print('')>>> print('')比照木蘭中反斜杠轉義效果:
> println('')> println('')> println('')> println('')> println('')> println('')實現細節可見源碼,個人感覺初用有些別扭,這種使用場景應該不多。
另外引號與換行轉義無需多言:
> 'doesn't' doesn't > ""吃了么?"" "吃了么?" > '第一行n第二行' 第一行 第二行函數參數指定類型
> type Person { >> func $Person(name) { >> $name = name >> } >> } > func hello(p : Person) { >> println("hi " + p.name) >> } > hello(Person("木蘭")) hi 木蘭當前路徑下 Python 模塊導入
比如當前路徑下有 larger.py:
def larger(a, b):if a > b:print(a)else:print(b)木蘭交互環境下:
> using larger > larger.larger(5,6) 6內置 enumerate 函數
可以更方便地定義枚舉了:
> for i, v in enumerate(['小', '中', '大']) { println(i, v) } 0 小 1 中 2 大求余運算
> 11%3 2其他
Gitee Go 流水線
驚喜發現 Gitee Go 開通后獲贈了 1000 分鐘構建時間,而且非常幸運,構建環境的 Python 版本正好支持本項目需要的 3.7。在新手模板基礎上作了一點修改,較順利地添加了一個費時少又較關鍵的 unittest 測試集(確認語法樹生成正確),掛件看起來不錯:
觸發后好像需要一點時間等待分配構建資源,感覺等待挺短,也許是尚未有很多用戶設置了流水線?期間只發現了一個日志中的中文顯示問題,已提交報告給官方,期待早日解決~
webpy 尚無法使用
由于 web.py 的例程需要調用 globals():
web.application(urls, globals())而尚未找到 globals() 在木蘭中的對應方法,因而暫時無法使用。希望找到一個合用、輕量級的網絡服務框架,歡迎建議。
更多報錯信息中文化
> using 不存在沒找到模塊:‘不存在’,見第1行<br/>附:代碼量統計
主要部分的代碼行數統計,格式為:上次->現在。
- 木蘭代碼量 2920 -> 2965
- 編輯器,實現與測試都是木蘭代碼:432 (在為分為前后端實現調研網絡服務框架)
- 木蘭測試用例,包括部分實用小程序(如井字棋):2488 -> 2533
- Python 代碼量(木蘭實現與測試框架):2574 -> 2594
- 分析器/語法分析器.py:1002 -> 1008
- 分析器/詞法分析器.py:201 -> 204
- 測試/運行所有.py,檢驗所有木蘭測試代碼片段:191 -> 192
- 環境.py,定義全局方法:162 -> 171
- 未變
- 分析器/語法樹.py:202
- 交互.py,交互環境(REPL):138
- 分析器/語法成分.py,從語法分析器中提取出來的枚舉常量:81
- 中.py,主程序:74
- 功用/反饋信息.py:65
- 功用/調試輔助.py,:57
- setup.py, 34
- 分析器/錯誤.py:17
- 測試/unittest/語法樹.py,確保生成的語法樹與原始版本一致:67
- 測試/unittest/交互.py,交互環境相關測試:28
總結
以上是生活随笔為你收集整理的ab st语言编程手册_木兰编程语言 0.0.14.7:功能覆盖初版用户手册;Gitee Go 流水线尝鲜...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拼多多开年大促来袭:苹果 iPhone
- 下一篇: 专项附加扣除是返钱吗 什么是专项附加扣除