代码改变世界

随笔分类 -  Python

[集成IronPython] 使CLR对象对动态语言更友好(三)—— 使用ExtensionTypeAttribute

2008-10-06 10:08 by Colin Han, 3620 阅读, 收藏, 编辑
摘要: IronPython 2.0完全基于微软DLR平台实现的。并且提供了良好的和.NET CLR对象之间交互的能力。在本系列文章里,我们将尝试实现一个自定义控件,使得你可以象使用标准Python控制台一样在其中输入Python代码,并且运行。当然,为了能够让IronPython很好的操作CLR对象,其中还是有很多技巧,让你的CLR对象对IronPython更友好,这一节,我们就要使用ExtensionTypeAttribute为已有的CLR对象添加DLR友好性支持。 阅读全文

[集成IronPython] 使CLR对象对动态语言更友好(一)—— 支持运行时添加删除属性

2008-08-18 11:59 by Colin Han, 3855 阅读, 收藏, 编辑
摘要: 动态类型语言(以下简称:"动态语言"),在10年前就已流行起来。JavaScript更是成为了WEB前台开发的事实标准。但它们进入普通开发 人员的视野也就在近几年。随着Web2.0和敏捷开发方法论的兴起,动态语言的灵活高效的特性成为了它被更多项目选择和使用的理由。一些大型网站已开始使 用动态语言来实现,其中,国内比较优秀的作品有“豆瓣”。微软更是不甘落后,建立了DLR(动态... 阅读全文

[集成IronPython] 使用Module扩展IronPython

2008-08-16 17:24 by Colin Han, 1759 阅读, 收藏, 编辑
摘要: 失败 在IronPython的源代码中,提供了一个PythonModuleAttribute,我原以为这个Attribute是为自定义Module建立的。在clr.AddReference时会检查Assembly中的所有PythonModuleAttribute。并将指定的类型作为Module导入到Python的运行环境中。但是,今天实际测试的结果并不是这样。IronPython仅在自己的Iron... 阅读全文

[集成IronPython] 添加方法到运行环境

2008-08-04 10:29 by Colin Han, 3263 阅读, 收藏, 编辑
摘要: 动态类型语言(以下简称:"动态语言"),在10年前就已流行起来。JavaScript更是成为了WEB前台开发的事实标准。但它们进入普通开发 人员的视野也就在近几年。随着Web2.0和敏捷开发方法论的兴起,动态语言的灵活高效的特性成为了它被更多项目选择和使用的理由。一些大型网站已开始使 用动态语言来实现,其中,国内比较优秀的作品有“豆瓣”。微软更是不甘落后,建立了DLR(动态... 阅读全文

[集成IronPython] 添加CLR对象到运行环境

2008-07-28 09:17 by Colin Han, 7172 阅读, 收藏, 编辑
摘要: 在本系列文章中,我们将逐步实现一个自定义控件,实现类似IDE的Immediate窗口的功能。用户可以在其中输入和运行IronPython代码。 在上一节中,我们建立了IronPython运行环境,并且在其上成功的运行了“print "hello world"”的命令。正如上一节的讨论中所看到的,大家都很关心如何让IronPython脚本和我们的运行环境交互。在这一节中,我们将会在DLConsole上添加两个方法,实现将运行环境中的Clr对象传递给IronPython脚本使用。 阅读全文

[集成IronPython] 建立运行环境并运行脚本

2008-07-19 16:24 by Colin Han, 4645 阅读, 收藏, 编辑
摘要: 动态类型语言(以下简称:"动态语言"),在10年前就已流行起来。JavaScript更是成为了WEB前台开发的事实标准。但它们进入普通开发人员的视野也就在近几年。随着Web2.0和敏捷开发方法论的兴起,动态语言的灵活高效的特性成为了它被更多项目选择和使用的理由。一些大型网站已开始使用动态语言来实现,其中,国内比较优秀的作品有“豆瓣”。微软更是不甘落后,建立了DLR(动态语言运行时)来吸引动态语言爱好者在其上实现动态语言。IronPython就是其主要成员之一。 在本系列文章中,我们将逐步实现一个自定义控件,实现类似IDE的Immediate窗口的功能。用户可以在其中输入和运行IronPython代码。 本文中,我们将实现最基本的代码,让IronPython脚本可以在其中运行。 阅读全文

[集成IronPython] 集成IronPython系列源代码下载

2008-07-19 16:19 by Colin Han, 1673 阅读, 收藏, 编辑
摘要: 本系列文章中使用到的IronPython 2.0 Bata 3的程序集请通过下面的链接下载: Lib.rar Step 1: 《建立运行环境并运行脚本》 Step1.rar :实现了基本的Hosting逻辑,可以在其中执行IronPython代码了。 Step 2: 《添加CLR对象到运行环境》 Step2.rar :实现了Register和UnRegister方法,可以添加CLR对象到运行... 阅读全文

[集成IronPython] 集成IronPython系列

2008-07-13 15:45 by Colin Han, 3639 阅读, 收藏, 编辑
摘要: 动态类型语言(以下简称:"动态语言"),应该说有很古老的历史了,10年前就已经在学术圈内流行起来。JavaScript更是成为了WEB前台开发的事实标准。但是他们进入普通开发人员的视野也就是在最近几年。随着Web 2.0和敏捷开发方法论的兴起。动态语言的灵活高效成为了他被大多数项目选择和使用的理由。一些大型的项目和网站都开始使用动态类型语言实现,其中,国内比较优秀的作品有“豆瓣R... 阅读全文