用ironpython驱动你的计算公式
以下是有关代码:(使用ironpython自带的示例文件first.py)
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IronPython.Hosting;
namespace IronPythonIntegrationDemo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入阶乘数字");
long num = long.Parse(Console.ReadLine());
PythonEngine engine = new PythonEngine();
engine.Import("Site");
CompiledCode cc = engine.CompileFile(@"D:\IronPython-1.1\Tutorial\first.py");
cc.Execute();
engine.Execute(string.Format("total = factorial({0})", num));
long total = engine.EvaluateAs<long>("total");
Console.WriteLine(total);
Console.Read();
}
}
}
这样,可以把动态脚本引擎集成进自己的程序里。当计算公式发生变化时,代码不需要修改,而只修改脚本即可。
我觉得还是蛮好的,起码在程序的扩展性上。
first.py文件内容如下:
#
# Copyright (c) Microsoft Corporation. All rights reserved.
#
# This source code is subject to terms and conditions of the Shared Source License
# for IronPython. A copy of the license can be found in the License.html file
# at the root of this distribution. If you can not locate the Shared Source License
# for IronPython, please send an email to ironpy@microsoft.com.
# By using this source code in any fashion, you are agreeing to be bound by
# the terms of the Shared Source License for IronPython.
#
# You must not remove this notice, or any other, from this software.
#
######################################################################################
def add(a, b):
"add(a, b) -> returns a + b"
return a + b
def factorial(n):
"factorial(n) -> returns factorial of n"
if n <= 1: return 1
return n * factorial(n-1)
hi = "Hello from IronPython!"
转载于:https://www.cnblogs.com/ofei/archive/2007/08/18/861122.html
用ironpython驱动你的计算公式相关推荐
- matlab IGBT设置占空比,IGBT的驱动参数说明和计算公式
IGBT的驱动参数说明和计算公式 作者:微叶科技 时间:2015-11-19 10:58 IGBT驱动概述 本文介绍了在特定应用条件下门极驱动性能参数的计算方法.通过本应用手册得出的一些参数值可以作为 ...
- A40i使用笔记:文件IO驱动方式(慢)(无法应用于大部分ic)
一.前言 初学linux,从hellow word开始,但是我这现在连初学都算不上,还没到学习hellow word驱动那一步,目前就是利用文件io驱动最最最最简单基础的led或者最最最简单的不要求时 ...
- 第十五届智能车竞赛技术报告-成电金秋-AI电磁
01引言 1.1 大赛介绍 全国大学生"恩智浦"杯智能汽车竞赛是以"立足培养.重在参与.鼓励 探索.追求卓越"为宗旨,鼓励创新的一项科技竞赛活动.今年首次新增了 ...
- C语言串口通信R8T8,K60-串口通信
目录 0x00 前言 0x01 串行通信原理 1.1 简单介绍 1.2 原理部分 1.2.1异步串行通信的数据格式 1.2.2 如何发送 (0/1) ? -- TTL电平 1.2.3 开始位/停止位/ ...
- Win64 驱动内核编程-26.强制结束进程
强制结束进程 依然已经走到驱动这一层了,那么通常结束掉一个进程不是什么难的事情.同时因为win64 位的各种保护,导致大家慢慢的已经不敢HOOK了,当然这指的是产品.作为学习和破解的话当然可以尝试各种 ...
- Win64 驱动内核编程-23.Ring0 InLineHook 和UnHook
Ring0 InLineHook 和UnHook 如果是要在R0里hook,作者的建议是InLine HOOK,毕竟SSDT HOOK 和 SHADOW SSDT HOOK比较麻烦,不好修改.目前R3 ...
- Win64 驱动内核编程-22.SHADOW SSDT HOOK(宋孖健)
SHADOW SSDT HOOK HOOK 和 UNHOOK SHADOW SSDT 跟之前的 HOOK/UNHOOK SSDT 类似,区别是查找SSSDT的特征码,以及根据索引计算函数地址的公式,还 ...
- Win64 驱动内核编程-20.UnHook SSDT
UNHOOK SSDT 要恢复 SSDT,首先要获得 SSDT 各个函数的原始地址,而 SSDT 各个函数的原始地址,自然是存储在内核文件里的.于是,有了以下思路: 1.获得内核里 KiService ...
- TQ2440平台上LCD驱动的移植
参考: http://liu1227787871.blog.163.com/blog/static/205363197201242393031250/ http://blog.csdn.net/cum ...
最新文章
- debian java 安装路径_Debian安装JAVA环境(转载)
- Linux的top命令
- MarshalByRefObject 的DOME代码
- html点击计数器的实现,点击计数器_Servlet 教程_w3cschool
- div关闭怎么写 html,大神你好,请问怎么在以下代码的div中添加一个关闭按钮?...
- python访问文件被拒绝_python – uWSGI服务器日志…权限被拒绝读取文件…哪个文件?...
- 神奇DP [HNOI2004] 打砖块
- Sql server备份数据库不执行
- 虚拟机下安装BackTrack5 (BT5)教程及BT5汉化
- docker批量导出导入本地镜像
- 面试计算机有什么优势和不足,面试时如何介绍自己的优缺点
- Qt之如何识别小键盘(数字键盘)
- C#基础 连接数据库
- c 实现走迷宫流程图_C语言实现一个走迷宫小游戏(深度优先算法)
- 无盘服务器快慢取决于什么,cpu运行速度的快慢取决于什么
- Focal-UNet
- 做自媒体,学视频剪辑须知的四大宝藏网站
- 重装系统——Win10/win11
- OpenX系列标准介绍(5):OpenDRIVE和OpenSCENARIO的中文版本
- “人到中年”成网红,旺旺能否借此重返“旺季”?