posts - 256, comments - 1315, trackbacks - 41, articles - 8
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

IronPython小事记

Posted on 2005-07-28 11:55 FantasySoft 阅读(936) 评论(2)  编辑 收藏 所属分类: All About SoftSharp IronPython
        前天收到IronPython Team发来的邀请函,大致内容是说:O'Reilly Open Source Convention将于8月1日至8月5日在波特兰举行。届时,Jim Hugunin将与会做两次演讲,一次是长达三个小时的IronPython Tutorial,而另一次则是不到一个小时的IronPython 1.0的简单介绍。面对这样诱人而遥远的技术盛宴,我只能看着直咽口水了。
        自从加入到IronPython在GotDotNet的Workspace后,除了submit几个bug之外,一直都鲜有贡献。不过我倒也没事偷着乐,毕竟,IronPython的进步也是来源于不断的bug fix啊。对于最新的IronPython 0.7.6,我也submit了一个bug。你可以在I
nteractive Mode下键入如下代码以重现这个bug:

>>> list = []
>>> for method in
 dir(list):
     print getattr(list, method)
   

在 一长串正常的输出之后,最终抛出了System.NotImplementedException。也许有些朋友对于Python的语法并不是太熟悉,我 就先来解释一下上面的三行代码。第一行代码中的变量list在赋值之后,其类型为Python的基本类型的一种:List;第二行代码中的dir方法返回 一个List,这个List中则包含了List类型(参数list本身就是List类型)所有可用方法的列表。在第二行代码中,你还可以看到Python 语法中唯一的代码分隔符号——冒号(:);第三行代码中的getattr方法则返回List类型中每一个方法的属性。同时,在第三行代码中,你也可以看到 Python所特有的通过缩进(indent)来区分code block。一开始,我认为是方法getattr的错。最后仔细想了一下,问题还是出在List类型的方法的列表中:方法列表中包含了还没有 implement的方法,从而导致了Exception的抛出。
        IronPython 0.7.6发布到现在已经一个多月了,我想0.7.7的发布也不会远了,热切期待中。

Feedback

#1楼    回复  引用  查看    

2005-07-28 15:24 by Cavingdeep      
居然会有NotImplementedException这样的异常,强!

#2楼 [楼主]   回复  引用  查看    

2005-07-28 16:50 by FantasySoft      
To Cavingdeep: 由于IronPython还处于β阶段,而且Jim为了增加IronPython与.NET的互协作性,为Python的内置类型(如List)增加了不少方法,而这些方法数量比较多,一时间无法全部实现,就弄了这样一个Exception。

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2005-08-02 17:41 编辑过
 
历史上的今天:

另存  打印
最新IT新闻:
· 万名Linux使用者向暴雪请愿Linux版《Diablo III》
· 56.com我乐网将全面转行 退出视频行业
· Joost借道TOM在线 将正式进军中国
· 微软副总裁公开承认Vista存在问题
· 互联网DNS存在重大漏洞 黑客可能控制网络流量