b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

脚本解释器开源lua一、引言在Lua脚本中有一个很重要的数(3)

电脑杂谈  发布时间:2018-02-07 22:25:26  来源:网络整理

脚本解释器开源lua_lua 解释器_lua游戏脚本实例

          //开始执行命令
          [root@linux luascript]# pwd
          /root/application/program/luascript  //lua脚本存放的位置

          [root@linux luascript]# lua cjsonDemo.lua
          {"int_datas":[100,"100"],"2":123,"键1":"值1","aryDatas":[{"键12":"值12","键11":"值11"},{"键21":"值21","键22":"值22"}]}

执行效果如图:

3、在Windows环境下,用C#执行lua脚本

3.1、在VS2015中建一个C#控制台应用程序,并添加LuaInterface.dll的引用

LuaInterface下载地址:(下载luainterface-1.5.3,这里面的资源比较多)

LuaInterface.Lua类是CLR访问Lua解释器的主要接口,一个LuaInterface.Lua类对象就代表了一个Lua解释器(或Lua执行环境),Lua解释器可以同时存在多个,并且它们之间是完全相互独立的。脚本解释器开源lua

3.2、在Windows环境下,Lua脚本文件使用上面提到的源文件 cjsonDemo.lua。

文件所在地址如下:C:\Users\Administrator\Desktop\Redis\LuaScript\cjsonDemo.lua

                //源码如下:

                local retTable = {};    --最终产生json的表

                --顺序数值
                local intDatas = {};
                intDatas[1] = 100;
                intDatas[2] = "100";

                --数组
                local aryDatas = {};
                aryDatas[1] = {};
                aryDatas[1]["键11"] = "值11";
                aryDatas[1]["键12"] = "值12";
                aryDatas[2] = {};
                aryDatas[2]["键21"] = "值21";
                aryDatas[2]["键22"] = "值22";

                --对Table赋值
                retTable["键1"] = "值1";
                retTable[2] = 123;
                retTable["int_datas"] = intDatas;
                retTable["aryDatas"] = aryDatas;

                return retTable;

3.3、测试代码如下:

           using LuaInterface;  // 引入的dll
           using System;
           using System.Collections.Generic;
           using System.Linq;
           using System.Text;
           using System.Threading.Tasks;

           namespace CSharpPinvokeLuaDemo
           {
               class Program
               {
                   static void Main(string[] args)
                   {
                        // 新建一个Lua解释器,每一个Lua实例都相互独立, 一个global全局域
                        Lua lua = new Lua();
                        //---------------------------------------------------
                        // Lua的索引操作[]可以创建、访问、修改global域
                        lua["age"] = 20;
                        lua["name"] = "Mr.huang";

                        string luaCode = "print(\"This is Lua code\")";
                        lua.DoString(luaCode);//执行lua脚本代码
                        object[] result=lua.DoFile(@"C:\Users\Administrator\Desktop\Redis\LuaScript\cjsonDemo.lua");//执行lua脚本文件,这里我直接用了绝对定位

                        double age = (double)lua["age"];

                        Console.WriteLine("age = {0}", age);
                        Console.WriteLine("width = {0}", lua["width"]);
                        Console.ReadKey();
                   }
              }
         }


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66088-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...