木兰重生:交互环境复现,新添新手入门

栏目: 软件资讯 · 发布时间: 3年前

内容简介:上周重现了交互环境(REPL),期间用一个针对编程新手的木兰入门教程验证了基本功能。下面是教程里例程在交互中的运行效果: 注:“随机数”API 需安装草蟒库 木兰向您问好 更多信息请说'你好' > using 随机范...

上周重现了交互环境(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

后感

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

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

风云Flash ActionScript高级编程艺术

风云Flash ActionScript高级编程艺术

赵英杰 / 第1版 (2006年7月1日) / 2006-7 / 45.00元

本书从基本的Actionscript语言概念开始介绍,配以实际的程序实例并穿插生动的图示说明,深入浅出地讲解Flash ActionScript程序的运用逻辑与概念,让读者从实例中学习进而融会贯通。同时,本书也说明面向对象程序设计(00P)的语法及常用类别实例,提升读者制作F1ash作品的造诣和能力。全书共分为10章,精彩实例包括以三角函数制作的抽奖轮盘,FlashLite手机版孔明棋游戏,Bit......一起来看看 《风云Flash ActionScript高级编程艺术》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具