lua腳本執行
Ⅰ C#中執行Lua腳本
一:
new lua().DoFile("myLua.lua"); //執行lua腳本 /myLua.lua:要 執行的lua的腳本名字
new lua().DoString("num = 2"); //讀取腳本
注意:腳本文件必須和工程目銷喚錄所在是同一塵斗旦個路徑不然會找不到lua的 腳本
對lua腳本的位置放置:
1)直接將lua文件,放在工程目錄下面的Debug文件夾下
2)將lua腳本的屬性中 "復制到輸出目錄" 選擇「始終復制」
--1.導入luanet程序集,該程序集負責 lua call C#
require 「luanet」
--2.載入程序集(命名空間)
uanet.load_assembly(「System」) // 載入程序集(我們說過程序集其實就是.exe或者.dll文件)
--3.獲取類別(獲取類名)
Test = luanet.import_type(「System.Test」) //引入類(Test就是類名)
--4.調用構造函數初始化C#腳本的類對象
--調用無參數的構造函數
-- test = Test()
--調用有參數的構造函數 ----int
-- test = Test(10)
--調用有參數的構造函數 ----string
-- test = Test("10")
-- lua調用C#構造函數規則---> 自動匹配最近的那個
-- -對於某些情況並不適用,比如說C#函數中有兩個一個參數的構造函數重載時即會發生匹配錯誤的情況
--- 這種情況我們需要手動指定調用哪個構造函數
test_argInt = luanet.get_constructor_bysig(Test,"System.String")
t = test_argInt(3)
-- 5.調用C#屬性
print(t.LanguageNume)
-- 調用Test類中的TestPrint()方法,使用的是":"
t:TestPrint(10);
-- 調用Test類中的靜態方法,使用的是"."
Test.TestStatciPrint(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腳本執行間隔
0.1秒。lua腳本執行時間太長是會失敗的,所以間隔0.1秒是最好的。lua是一個小巧的腳本語言。它是巴西里約熱內盧天主教大學里的一個由Roberto Ierusalimschy、Waldemar Celes和Luiz Henrique de Figueiredo三人所組成的研究小組於1993年開發的。
Ⅲ 安卓手機怎麼打開.lua的腳本
安卓手機打開lua文件方法如下:
1、首先可以到官網下載一個GG,如下圖。
Ⅳ lua腳本怎麼獲取當前正在執行的腳本的當前路徑
時代在發展科技在進步,互聯網已經不是什麼神秘的領域,現在越來越多的年輕人對於互聯網越來越熟悉,甚至有些開始學習Linux系統方面的知識,下面小猿圈Linux講師就講關於如何在Linux系統獲取當前工作路,希望對你有所幫助。
獲取工作路徑這里介紹兩種方法:
1、使用getcwd()函數。
頭文件:#include
定義函數:char*getcwd(char*buf,size_tsize);
函數說明:getcwd()會將當前的工作目錄絕對路徑復制到參數buf所指的內存空間,參數size為buf的空間大小。
實例:
voidgetPath()
{
charpPath[256]={0};
getcwd(buf,256);
printf("filePath:%s\n",pPath);
}
主函數調用此函數運行結果:
filePath:/home/myTest
2、使用readlink()函數
頭文件:#include<unistd.h>
函數定義:intreadlink(constchar*path,char*buf,size_tbufsiz);
函數說明:此函數會將參數path的符號連接內容到參數buf所指的內存空間,返回的內容不是以NULL作字元串結尾,但會將字元串的字元數返回。若參數bufsiz小於符號連接的內容長度,過長的內容會被截斷。成功返回buf長度,失敗返回-1。
實例:
voidgetPath()
{
charpPath[256]={0};
intret=-1;
ret=readlink("/proc/self/exe",pPath,256);
pPath[ret]="\0"
printf("thefilePath:%s\n",pPath);
}
intmain()
{
getPath();
}
運行結果:
thefilePath:/home/myTest/a.out
小猿圈Linux講師提醒大家:每天學習一點技術問題,只要功夫深,鐵杵磨成針,學習不是一朝一夕的,是需要付出行動的,而且還要堅持,學習新的技術需要不斷的查閱資料,看視頻,復習,練習,如果你工作中或者生活中遇到什麼問題,可以到小猿圈去尋找答案的,相信會給你滿意的答復