木兰编程语言 0.0.14.6:网络服务演示;with...as 的替代语法

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

内容简介:安装:pip install ulang,用法与例程请见 PyPI。源码位于开源中国)。 注意:必需 python 3.7,源码文件需 UTF-8 编码 本周用木兰实现了 http.server 网络服务演示如下: using SimpleHTTPRequestHandler in ...

安装:pip install ulang,用法与例程请见 PyPI。源码位于开源中国)。 注意:必需 python 3.7,源码文件需 UTF-8 编码

本周用木兰实现了 http.server 网络服务演示如下:

using SimpleHTTPRequestHandler in http.server
using socketserver

端口 = 8080

try 服务=socketserver.TCPServer(tuple("", 端口), SimpleHTTPRequestHandler) {
    println("请访问:http://localhost:8080/")
    服务.serve_forever()
}

本地访问效果:

木兰编程语言 0.0.14.6:网络服务演示;with...as 的替代语法

作为对比,下面是 Python 的同功能源码(部分省略):

with socketserver.TCPServer(("", 端口), SimpleHTTPRequestHandler) as 服务:
    服务.serve_forever()

可见木兰去掉了 with 和 as 两个关键词,将其合并到了 try 语法中。

另外也尝试了使用网络服务框架。暂时未发现木兰如何支持修饰器 @route,于是不使用 bottle 或者 flask。

下面是木兰使用 eve 框架的演示:

using Eve in eve

设置 = {'DOMAIN': {'人': {:}}}

服务 = Eve(settings=设置)
服务.run()

本地访问效果:

木兰编程语言 0.0.14.6:网络服务演示;with...as 的替代语法

其他

0.0.14.5 修复 windows 下引用模块问题

早发现的 windows 下测试问题,是由于 windows 下默认编码 gbk,而打开引用模块源码文件时未指定 UTF-8 编码。

引用模块出错位置信息

之前,如果引用的模块加载时出错,报错信息中不包含具体出错信息。现在已修正:

$  木兰 测试/错误处理/引用问题模块.ul
   请先定义‘a’再使用
“测试/错误处理/无此变量.ul”第1行:a
见第1行:using * in 测试.错误处理.无此变量 

更多中文报错信息

像这样的木兰代码:

try a=3 {
  print(a)
}

原本报错:AttributeError: __enter__,信息量很有限。

现在改为如下中文信息,并加上了参考链接:

   需要添加此属性:__enter__
参考:https://stackoverflow.com/questions/1984325/explaining-pythons-enter-and-exit
见第1行:try a=3 {<br/>

附:代码量统计

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

  • 木兰代码量 2873 -> 2920
    • 编辑器,实现与测试都是木兰代码:402 -> 432 (初步重构,打算尽量减少对 Python tk 库的依赖,也许分为前后端实现)
    • 木兰测试用例,包括部分实用小程序(如井字棋):2471 -> 2488

 

  • Python 代码量(木兰实现与测试框架):2523 -> 2574
    • 分析器/语法分析器.py:990 -> 1002
    • 分析器/语法树.py:188 -> 202
    • 分析器/词法分析器.py:198 -> 201
    • 测试/运行所有.py,检验所有木兰测试代码片段:189 -> 191
    • 环境.py,定义全局方法:160 -> 162
    • 分析器/语法成分.py,从语法分析器中提取出来的枚举常量:79 -> 81
    • 功用/反馈信息.py:55 -> 65
    • 未变
      • 交互.py,交互环境(REPL):138
      • 功用/调试辅助.py,:57
      • 中.py,主程序:74
      • setup.py, 34
      • 分析器/错误.py:17
      • 测试/unittest/语法树.py,确保生成的语法树与原始版本一致:67
      • 测试/unittest/交互.py,交互环境相关测试:28

以上所述就是小编给大家介绍的《木兰编程语言 0.0.14.6:网络服务演示;with...as 的替代语法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Web程序设计

Web程序设计

(美)塞巴斯塔 / 王春智、刘伟梅 / 清华大学出版社 / 2011-1 / 69.00元

《Web程序设计(第6版)》浓墨重彩地描述客户端和服务器端Web开发技术,深入分析Web站点构造和维护工具,并透彻讲解主流Web编程语言。《Web程序设计(第6版)》对上一版内容做了全面细致的修改,并融入了NetBeans 6.7、Visual Studio 8和ASP.NET Web服务等最新技术。《Web程序设计(第6版)》既可以作为高校教材,也可供专业Web编程人员参考使用。一起来看看 《Web程序设计》 这本书的介绍吧!

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

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具