【转载】在Matlab中使用IronPython(一)——初步试验
来源:互联网 发布:java编写水仙花数 编辑:程序博客网 时间:2024/06/05 18:14
原文地址:http://blog.sina.com.cn/s/blog_4513dde60101deda.html
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 Unported许可协议进行许可。允许非商业转载,但应注明作者及出处。
作者:xialulee
最初发布于:2011年12月20日,http://blog.sina.com.cn/xialulee
% 2011.12.20 PM 09:50
% Matlab 7.12.0
% IronPython 2.7.1
% xialulee
NET.addAssembly('IronPython');
import IronPython.Hosting.*
engine = Python.CreateEngine();
scope = engine.CreateScope();
engine.CreateScriptSourceFromString('f = lambda x: x+3' ).Execute(scope);
f = NET.invokeGenericMethod(scope, 'GetVariable', ...
{NET.GenericClass('System.Func', 'System.Object', 'System.Object')}, 'f');
fprintf('f(2) = %d\n' , f(2));
% output: f(2) = 5
稍微解释一下。创建IronPython的engine和scope,这些都不用说了。关键是scope的GetVariable方法,这个方法有Generic和non-Generic两个版本,其中Generic版本能够实现类型的转换,比如获取一个Python的callable对象时,其Generic的版本能够直接返回一个delegate。上面的例子中,在scope里用lambda创建了一个函数f,它有一个参数x。如果调用GetVariable时指定type parameter为Func<object, object>,则返回值为IronPython中的函数f对应的delegate对象。之所以Func中有两个object,是因为第一个object代表的是参数,第二个是返回值。
阅读全文
0 0
- 【转载】在Matlab中使用IronPython(一)——初步试验
- 在C#环境中动态调用IronPython脚本(一)
- 在silverlight 使用 IronPython
- 精通 Oracle+Python,第 9 部分:Jython 和 IronPython — 在 Python 中使用 JDBC 和 ODP.NET
- 使用FCKeditor在jsp中(一)-----转载
- 在C#环境中动态调用IronPython脚本(二)
- libSVM在MATLAB中的初步使用
- EventBus使用详解(一)—— 初步使用EventBus
- MATLAB多元数据统计初步(一)
- 在VS2008中调试IronPython代码
- 在.NET中嵌入IronPython 交互
- IronPython中使用Cecil类库指南
- IronPython中使用Cecil类库指南
- 【转载】使用IronPython给.Net程序加点料
- 第三次试验——栈和队列(一)
- MATLAB Java builder的使用——在JAVA中调用MATLAB代码
- libxml2使用初步(一)
- 【Jmeter】初步使用(一)
- centos7vim无法高亮显示的解决办法
- python之路——从列表中随机取数
- 最值得用的五款 chrome 插件 Vimium momentum The Great Suspender等 附下载地址。
- slam(1)
- CDOJ--1804---小帆宝与数字8
- 【转载】在Matlab中使用IronPython(一)——初步试验
- 概率dp
- 软件测试实习生面试归来
- 5年赚50倍的段永平:这几家公司正在长长的坡上滚着厚厚的雪
- 由IP组播地址 判断 IP地址范围
- 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
- 平面分隔问题
- 三子棋
- 文章标题