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

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

内容简介:上周重现了交互环境(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

后感

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

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


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

查看所有标签

猜你喜欢:

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

Django 1.0 Template Development

Django 1.0 Template Development

Scott Newman / Packt / 2008 / 24.99

Django is a high-level Python web application framework designed to support the rapid development of dynamic websites, web applications, and web services. Getting the most out of its template system a......一起来看看 《Django 1.0 Template Development》 这本书的介绍吧!

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

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器