首页    新闻    小组    交易    人才    下载    博客    代码贴    在线编程    论坛
木兰重生:交互环境复现,新添新手入门
2020-09-15 22:07:42 | 阅读 75 次 | 评论(0)

上周重现了交互环境(REPL),期间用一个针对编程新手的木兰入门教程验证了基本功能。下面是教程里例程在交互中的运行效果:

注:“随机数”API 需安装草蟒库


木兰向您问好
更多信息请说'你好'
> using 随机范围数 in 随机数
> 想的 = 随机范围数(100)
> loop {
>>   猜的 = int(input("猜吧:"))
>>   if 猜的 > 想的 {
>>     println("大了")
>>   } elif 猜的 < 想的 {
>>     println("小了")
>>   } else {
>>     println("中了!")
>>     break
>>   }
>> }
猜吧:90
大了
猜吧:40
小了
猜吧:70
小了
猜吧:80
大了
猜吧:75
大了
猜吧:72
小了
猜吧:73
小了
猜吧:74
中了! 

期间发现一个木兰交互环境相对 Python 的优势,就是对粘贴代码到交互环境运行这一使用场景的支持较好,在这点上来说尤其对编程新手比较友好。详见木兰 vs. Python 之语法对用户体验的影响(一)一文。

代码统计

下面是几个主要部分的代码行数统计,格式为:上次->现在。

  • 测试
    • 测试/unittest/交互.py,交互环境相关测试:28
    • 未变
      • 木兰测试用例:1919
      • 测试/运行所有.py,检验所有木兰测试代码片段:156 -> 180
      • 测试/unittest/语法树.py,确保生成的语法树与原始版本一致:67
  • Python 总代码量(包括测试部分):2237 -> 2418
    • 环境.py,加载木兰模块:137 -> 149
    • 交互.py,交互环境(REPL):138
    • 中.py,主程序:36 -> 40
    • 未变
      • 分析器/语法分析器.py:913
      • 分析器/词法分析器.py:190
      • 分析器/语法树.py:178
      • 演示高亮.py:100
      • 分析器/语法成分.py,从语法分析器中提取出来的枚举常量:78
      • 功用/反馈信息.py:49
      • 分析器/错误.py:17

后感

之前决定暂时放下交互控制台已是五个月前,这近半年来对木兰逐步熟悉,现在再复现这部分感觉比之前轻松了不少。

但限于个人水平,对木兰的设计思路只能靠复原出的功能进行点滴参悟,肯定还有不小偏差。很希望木兰编程语言原团队的人员能够参与到项目中来,这样必然事半功倍,对设计意图进行更全面系统的复原。

(文/开源中国)    




评论 (0)

游客请输入验证码
最新评论