如果Python的生成器用HaXe来表达。

2012-10-25 13:39:03 +08:00
 imcj
#如果Python的生成器用HaXe来表达.

gunicorn的ChunkedReader类,作用是从当TransferEncoding: Chunked的时候用该类来分析读取Body。

通过生成器从Buffer中读取字符,生成器用在这个地方既方便又清晰明了。看了这段代码,让我也对Python生成器的应用场景又多了些认识。

我现在尝试用HaXe语言来翻译这个软件,通过迭代器进行模拟,因为会增加一个类,而且状态被转移到了类的字段上,再加上我的设计有些问题,所以这样的设计没有Python看起来优美,简洁。因为我希望别人看这段代码的时候无障碍,提高易读性,所以特来求助。

##期望
* 你可以为我提供设计思路,点出迭代器在这个场景引用的缺点。或者我代码的缺陷。
* 如果你想为我提供代码解惑,可以fork我这个库然后pull & request给我。

##URLS
* https://github.com/shitou/gunicorn/blob/master/gunicorn/http/body.py
* https://github.com/shitou/hxgunicorn/blob/master/src/http/body/ChunkedReader.hx
* https://github.com/shitou/hxgunicorn/blob/master/src/http/body/ChunkedReaderIterator.hx

以上是相关代码地址:

http://gist.github.com/3950498
http://gist.github.com/3950610
http://gist.github.com/3950611
3170 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/50860

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX