- Notifications
You must be signed in to change notification settings - Fork 1
Examples: Basic
Henrik Cooke edited this page Mar 2, 2015
·
1 revision
Call CLR Objects
varscriptEngine=newLuScriptEngine();dynamicenvironment=scriptEngine.CreateStandardEnvironment();environment.myVariable="Hello";scriptEngine.Execute("myVariable = myVariable:ToUpper()",environment);Console.WriteLine(environment.myVariable);// Output: HELLOCall LuBox Function
varscriptEngine=newLuScriptEngine();dynamicenvironment=scriptEngine.CreateStandardEnvironment();scriptEngine.Execute(@" function Add(left, right) return left + right end",environment);Console.WriteLine(environment.Add(1,2));// Output: 3Handle CLR Events
publicclassFoo{publiceventAction<string>BarFired;publicvoidFireBar(){BarFired("BAR!");}}varscriptEngine=newLuScriptEngine();dynamicenvironment=scriptEngine.CreateStandardEnvironment();varfoo=newFoo();environment.foo=foo;environment.console=Console.Out;scriptEngine.Execute(@" function handleBar(text) console:WriteLine(text) end foo.BarFired:Add(handleBar)",environment);foo.FireBar();// Output: BAR!Iterate CLR Enumerable
varscriptEngine=newLuScriptEngine();dynamicenvironment=scriptEngine.CreateStandardEnvironment();environment.list=newList<int>{1,2,3,4,5};scriptEngine.Execute(@" sum = 0 for i in iter(list) do sum = sum + i end ",environment);Console.WriteLine(environment.sum);// 15