You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An interpreter for the Lua language, written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms, including handy remote debugger facilities.
A complete Lua solution written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms.
Features:
99% compatible with Lua 5.2 (with the only unsupported feature being weak tables support)
Support for metalua style anonymous functions (lambda-style)
Easy to use API
Debugger support for Visual Studio Code (PCL targets not supported)
Remote debugger accessible with a web browser and Flash (PCL targets not supported)
Runs on .NET 3.5, .NET 4.x, .NET Core, Mono, Xamarin and Unity3D
Runs on Ahead-of-time platforms like iOS
Runs on IL2CPP converted code
Runs on platforms requiring a .NET 4.x portable class library (e.g. Windows Phone)
No external dependencies, implemented in as few targets as possible
Easy and performant interop with CLR objects, with runtime code generation where supported
Interop with methods, extension methods, overloads, fields, properties and indexers supported
Support for the complete Lua standard library with very few exceptions (mostly located on the 'debug' module) and a few extensions (in the string library, mostly)
Async methods for .NET 4.x targets
Supports dumping/loading bytecode for obfuscation and quicker parsing at runtime
An embedded JSON parser (with no dependencies) to convert between JSON and Lua tables
Easy opt-out of Lua standard library modules to sandbox what scripts can access
Easy to use error handling (script errors are exceptions)
Support for coroutines, including invocation of coroutines as C# iterators
REPL interpreter, plus facilities to easily implement your own REPL in few lines of code
doubleMoonSharpFactorial(){stringscript=@" -- defines a factorial function function fact (n) if (n == 0) then return 1 else return n*fact(n - 1) end end return fact(5)";DynValueres=Script.RunString(script);returnres.Number;}
An interpreter for the Lua language, written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms, including handy remote debugger facilities.