zoukankan      html  css  js  c++  java
  • IronPython初体验和实战集合等类型转换和类型匹配

    人老了,做什么都累~学到了这么多技术,从最早C到C++再到JAVA再到C#,最终都是为了改善产品,改善系统的可维护性。众所周知C#,C++,C都是强类型语言,什么情况都得定义一些实体类来改变业务模型,虽然C#4.0增加了很多runtime功能,但是要和脚本(比如PHP)比起来,真的还不够完美。就比如我想根据业务逻辑生成一段CS代码。。。肿么办?难道还的打包成程序集然后在程序里加载跑起来,这显然很不现实。如果遇到一些BT的业务逻辑经常修改和调整,那就彻底崩溃了,为了解决项目中遇到的这些问题(在不编译的情况下随意改变业务逻辑,或者动态解析窗体控件,动态生成SQL)。找了很多资料,最早是CODEDOM,到现在DLR!

    基于DLR的运行时脚本有RUBY,python,js。不过通过资料收集发现JS还不够完美,虽然我很想用JS,哎~无奈的学习python

    说了这么多开始把 关键词 IronPyth

    IronPyth干什么的我这里就不多说了

    1:环境

    xp

    vs2010

    Ironpython 2.7.3

    首先安装Python Tools for Visual Studio。我用VS2010  选择2010版本

    下载地址:http://pytools.codeplex.com/releases/view/103102

    然后安装python解释器  我这里用的NET实现的Python,因为要和C#交互~图个稳当

    CPython
    这是原生Python解释器.    我们推荐 32-bit 3.3 or 2.7 版本 为了更好的兼容性. 
    All versions: http://python.org/download/ 
    IronPython
    .NET实现的Python. 最好的与CSharp互动,我们推荐 2.7.3 版本 
    IronPython 2.7.3 32- and 64-bit Windows Installe

    2:实战

    python代码 保存为test.py

    def test():
        return "test"

    C# 代码

    ScriptRuntime rtmPy = Python.CreateRuntime();
    dynamic obj = rtmPy.UseFile("test.py");
    MessageBox.Show(obj.test());

    今天就写到这里吧,还有很多细节~下次补上

  • 相关阅读:
    uva 10491 Cows and Cars
    uva 10910 Marks Distribution
    uva 11029 Leading and Trailing
    手算整数的平方根
    uva 10375 Choose and divide
    uva 10056 What is the Probability?
    uva 11027 Palindromic Permutation
    uva 10023 Square root
    Ural(Timus) 1081. Binary Lexicographic Sequence
    扩展欧几里得(求解线性方程)
  • 原文地址:https://www.cnblogs.com/cfas/p/4049519.html
Copyright © 2011-2022 走看看