DynamicLua

DynamicLua LogoDynamicLua ist ein Wrapper für Lua, der es möglich macht, Lua-Code möglichst idiomatisch in .NET zu benutzen. Dafür wird die Dynamic Language Runtime benutzt, die Teil von .NET 4.0 ist (und den neuen Typ dynamic mit sich bringt). Als Grundlage für die Anbindung von Lua dient NLua.

Das ganze Projekt entstand aus Interesse an der Dynamic Language Runtime und ist mehr oder weniger fertig. Es wurde auch in einem (von mir verfassten) Artikel in der dotnetpro besprochen. Auf GitHub ist auch eine ausführliche Dokumentation der Features zu finden.

Code-Beispiel:

// Start a new Lua interpreter
dynamic lua = new DynamicLua.DynamicLua(); //Namespace and class name are the same!
// Run Lua chunks
lua("num = 2"); //no DoString()!
lua("str = ’a string’");
// Read global variables ’num’ and ’str’
double num = lua.num; //No explicit casting, no index operator!
string str = lua.str;
// Write to global variable ’str’
lua.str = "another string"; //No index operator
//Increase a global value
lua.num += 10; //A LOT cleaner

Weitere Informationen: