lua怎么把读取到的字符串变成程序的一部分

lua怎么把读取到的字符串变成程序的一部分,第1张

你是说 直接运行程序

local path = [[d:\1txt]]

--[[ -- 1txt 

do

    return 123

end

--]]

local file = ioopen(path, "r+");

local code = file:read("all")

local f = assert(loadstring(code))

f() -- 执行代码

lua文件可以用记事本程序打开,具体打开步骤如下:

1、文件格式后缀名以lua格式存在。

2、然后我们在桌面安装并双击打开查看工具。

3、然后我们打开查看工具点击文件选择打开。

4、然后我们选择lua文件点击打开。

5、然后我们打开后查看文件内容,并可以编辑。

 一:

new lua()DoFile("myLualua");              //执行lua脚本      /myLualua:要         执行的lua的脚本名字

new lua()DoString("num = 2");             //读取脚本

注意:脚本文件必须和工程目录所在是同一个路径不然会找不到lua的          脚本

对lua脚本的位置放置:

      1)直接将lua文件,放在工程目录下面的Debug文件夹下

       2)将lua脚本的属性中 "复制到输出目录" 选择“始终复制”

--1导入luanet程序集,该程序集负责 lua call C#

require “luanet”

--2加载程序集(命名空间)

uanetload_assembly(“System”)         // 加载程序集(我们说过程序集其实就是exe或者dll文件)

--3获取类别(获取类名)

Test = luanetimport_type(“SystemTest”)      //引入类(Test就是类名)

--4调用构造函数初始化C#脚本的类对象

--调用无参数的构造函数

-- test = Test()

--调用有参数的构造函数 ----int

-- test = Test(10)

--调用有参数的构造函数 ----string

-- test = Test("10")

-- lua调用C#构造函数规则---> 自动匹配最近的那个

-- -对于某些情况并不适用,比如说C#函数中有两个一个参数的构造函数重载时即会发生匹配错误的情况

--- 这种情况我们需要手动指定调用哪个构造函数

test_argInt = luanetget_constructor_bysig(Test,"SystemString")

t = test_argInt(3)

-- 5调用C#属性

print(tLanguageNume)

-- 调用Test类中的TestPrint()方法,使用的是":"

t:TestPrint(10);

-- 调用Test类中的静态方法,使用的是""

TestTestStatciPrint(9)

--调用带有ref参数的方法

t:RefMethod(8)

--调用带有out参数的方法(带有out的参数可以不写,即不传参数)

--  var,var2 = t:OutMethod("hello")

-- print(var2)

-- v1,v2,v3,v4 = t:OutMethod(10)

tb = t:OutMethod(10)

print(type(tb))

以上就是关于lua怎么把读取到的字符串变成程序的一部分全部的内容,包括:lua怎么把读取到的字符串变成程序的一部分、对于*.lua文件,需要用什么软件程序打开、C#中执行Lua脚本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9775426.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存