ゲームにスクリプト エンジンを埋め込もうとしています。私は C# で書いているので、IronPython がぴったりだと思いました。
複雑なことに、Windows 7 64 ビットで Visual Studio 2010 RC1 を使用しています。
IronRuby は期待どおりに動作しますが、Ruby や Python の構文にはあまり詳しくありません。
私がやっていること:
ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
//Test class with a method that prints to the screen.
scope.SetVariable("test", this);
ScriptSource source =
engine.CreateScriptSourceFromString("test.SayHello()", Microsoft.Scripting.SourceCodeKind.Statements);
source.Execute(scope);
これにより、「'TestClass' オブジェクトに属性 'SayHello' がありません」というエラーが生成されます。
「self.test.SayHello()」を使用しても、この正確なセットアップは IronRuby で正常に動作します。
ただし、IronRuby は IronPython ほど成熟していないように見えるため、IronRuby の使用には慎重です。距離が近ければそちらに行くかもしれません。
何か案は?これは単純なものでなければならないことはわかっています。