简单介绍下CLR:
CLR(公共语言运行库,Common Language Runtime),是一个可由多种编程语言使用的运行环境。CLR是 .NET Framework 的主要执行引擎。它的核心功能包括:内存管理,程序集加载,异常处理,安全性和线程同步。
(一)Lua from the CLR
准备工作:
1.LuaForWindows下载地址:http://pan.baidu.com/s/1kU8hiTL(这里测试的是LuaForWindows_v5.1.4-46,安装中包含一个“ SciTE”的编译器,可以用来执行lua程序)
2.LuaInterface下载地址:http://pan.baidu.com/s/1nuB0TgX(这里测试的是luainterface-1.5.3,这里资源比较多,代码比较完整)
3.测试环境:在VS2015中创建一个C#控制台应用程序(luainter),将luainterface-1.5.3压缩包中Built文件夹下面的LuaInterface.dll、luanet.dll直接拖入工程。然后找到已经创建的C#控制台应用程序,添加对LuaInterface.dll的引用。(注意…\bin\Debug文件夹下面,要包含LuaInterface.dll、luanet.dll )
*““““““““““““““““““““““““
下面代码展示的功能:
1. CLR访问Lua的Global作用域
2. CLR新建Lua的table表
3. CLR执行Lua脚本代码和脚本文件DoString、DoFile
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LuaInterface;
namespace luainter
{
class Program
{
static void Main(string[] args)
{
//创建一个Lua解释器,每个Lua实例都相互独立
Lua lua = new Lua();
//Lua的索引操作[]可以创建、访问、修改Global作用域,[]里面是变量名
lua["score"] = 66;
lua["name"] = "shaco";
//创建一个空的table
lua.NewTable("nilTab");
lua.DoString("score = 100; print(\"i am a lua string\")");
//执行文件Hello World.lua
//lua.DoFile("D:\\Lua MyWork\\Hello World.lua");
//lua.DoFile("string.lua");//此时Lua脚本放在Debug目录下面
//返回score、name的值
object[] retVal = lu