木兰编程语言 0.0.14.6:网络服务演示 try 语法

安装: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:网络服务演示 try 语法


作为对比,下面是 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:网络服务演示 try 语法


其他

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 {

附:代码量统计

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


展开阅读全文

页面更新:2024-05-14

标签:木兰   语法   分析器   功用   中文   变量   端口   网络服务   演示   源码   框架   模块   错误   代码   环境   测试   科技   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top