用ironpython驱动你的计算公式
生活随笔
收集整理的這篇文章主要介紹了
用ironpython驱动你的计算公式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
很多時候,很多應用都會使用到某些計算公式,而這些計算公式一段時間之后可能會調整。目前,一般處理的辦法有硬編碼、數據庫表配置以及腳本。自ironpython發布之后,.net動態腳本的威力日增,以至于有DLR的誕生...
?????????以下是有關代碼:(使用ironpython自帶的示例文件first.py)??????????
using?System;
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!"
?????????以下是有關代碼:(使用ironpython自帶的示例文件first.py)??????????
using?System;
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
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的用ironpython驱动你的计算公式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 两数之和 整数反转 回
- 下一篇: GINA后门代码