日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ab st语言编程手册_木兰编程语言 0.0.14.7:功能覆盖初版用户手册;Gitee Go 流水线尝鲜...

發布時間:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 流水线尝鲜...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。