IronPythonで式評価 その1
以前のエントリでは、S2Containerの式評価にはJScript.NETが使われており、拙作のDIコンテナでは、これの代わりにWindowsPowerShellを使うことを試したことがあったが
Expression Evaluation for DIContainer
PowerShellExpression クラスの実装
この時に、NyaRuRuさんにコメントを頂いたこともあり、先日に良い資料を見たことに触発されて、IronPythonをDIコンテナの式評価に使えないかと考えてみた。IronPythonのスクリプトエンジンによる式評価をC#から呼び出すのは、JScript.NETやPowerShellと同様に非常に簡単だ。
using System; using IronPython.Hosting; namespace IronPythonTest { public class Eval { public static void Main(string[] args) { PythonEngine engine = new PythonEngine(); string expr = "2+3+4"; Console.WriteLine("{0} = {1}", expr, engine.Evaluate(expr)); } } }
これを利用して、DIコンテナの式評価機能を置き換えてみよう。