1. lua腳本怎麼讀取另外一個lua腳本的參數啊 比如另外一個腳本a.lua裡面有aaa=100,我
首先要看你在另一個腳本里的這個變數的作用域
如果是全局變數 就能訪問 如果是局部變數就訪問不到了
--main.lua
require"script"
print(aaa)
print(bbb)
--script.lua
aaa=100
localbbb=200
aaa可以訪問的到
bbb訪問不到
2. 怎樣在lua腳本中調用另一個lua腳本中的函數呢
require「函數腳本文件名字」
下面可以直接調用,也可以使用pcall方法安全調用
3. javascript腳本和Lua腳本哪個更強大
javascript作為web方面客戶端的腳本語言,目前沒有其他科替代.但是要是寫類似游戲腳本的話,javascript肯定比lua差遠了.
這兩個其實應用方向不一樣,所以不能這樣比的
4. 如何讓lua作為自己軟體的腳本語言
Lua 的解釋器就是一個數據結構,你可以在一個進程裡面造出 很多來,而且彼此是完全隔離的,這在並發、錯誤處理上都極大簡化了問題,Lua 只要保護好涉及的資源,把解釋器銷毀重建一個就好了。事實上 Adobe Photoshop 就是用 Lua 做的腳本。Lua 的效率好,如果用 API 兼容的 LuaJIT 那就更好了(最快沒有之一的腳本語言實現),做軟體的插件,這還是一個重要的考慮。
5. 如何學習lua腳本
LZ要學LUA的話一定要去看書 Programming in Lua不一定要買紙質的 至少要有個電子檔的 在序言里就已經說了 Lua本身是作為一種擴展語言來定位的 所以本身沒有很強大的庫 而它優勢在於擴展性和兼容性 大部分功能都必須依賴外部的庫 本身只有一些很簡單的庫函數可供調用 但是作為學習的話 那些強大的庫大可不必看 基本的那些庫學起來已經需要好一段時間了
至於腳本和C等的調用問題 雖然兩者都可相互調用,但是畢竟windows與C相連接更緊密,所以一般來說 都是C調用lua 但是當腳本里需要實現一些需要使用c來寫程序的時候也會在lua中調用c
lua腳本和C綁定的問題 c寫的VC程序在windows下是可以直接運行的,lua寫的如果沒有解釋器是無法直接運行的 所以一般來說寫lua程序 想要直接使用的話都會用C來調用
6. Lua腳本怎麼樣調用外部腳本
$cd /home/czfshine 生成要執行的sh腳本 $echo "pwd" > 1.sh 生成lua文件 $echo " os.execute(' sh ./1.sh') " > 1.lua $ls 1.sh 1.lua 運行lua文件 $ lua 1.lua /home/czfshine
7. 請問自己的軟體如何運行Lua腳本
programming in lua 有相關的例子,一般腳本語言和c/c++之類的互相調用分兩類,一類是擴展,就是將c/c++模塊封裝起來給腳本語言用,用swig做封裝很方便的,一類是嵌入,就是在c/c++等應用中嵌入lua引擎,一般是用來分離經常變化的邏輯部分,比如WOW就是用lua語言作為擴展,用戶可以編寫lua腳本來完成一些特定功能的機器人。你要做的就是使用lua c api來在你的程序中執行lua。類似這種:
int iErr = 0;
lua_State *lua = lua_open (); // Open Lua
luaopen_io (lua); // Load io library
if ((iErr = luaL_loadfile (lua, "test.lua")) == 0)
{
// Call main...
if ((iErr = lua_pcall (lua, 0, LUA_MULTRET, 0)) == 0)
{
// Push the function name onto the stack
lua_pushstring (lua, "helloWorld");
// Function is located in the Global Table
lua_gettable (lua, LUA_GLOBALSINDEX);
lua_pcall (lua, 0, 0, 0);
}
}
lua_close (lua);
8. 怎麼使用lua腳本
LUA腳本語言基本使用方法是本文要將介紹的內容,主要是來學習Lua腳本語言的使用方法,具體內容來看本文詳解。
先要把下邊這些語句加入到VC中的頭文件,一般是加到StdAfx.h中
extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" #pragma comment(lib, "lualib.lib") #pragma comment(lib, "lua.lib") }
然後一般來說都使用一個全局的LUA庫定義的這個東西
lua_State* g_Lua;
並且在工程處初始化時也給LUA初始化
g_Lua = lua_open(); **加這句 /* load Lua base libraries */ 網上一些教材中這么寫的 lua_baselibopen(g_Lua); 不過我這簡單的例子中不用到這些也行 lua_tablibopen(g_Lua); lua_iolibopen(g_Lua); lua_strlibopen(g_Lua); lua_mathlibopen(g_Lua);
緊接著聲明介面函數,注冊上函數
lua_register(g_Lua, "Message", myMessage);
好,初始化部分完了,看看介面函數的寫法。
函數必須這樣的格式來寫
static int Func(lua_State *L) { 靜態型函數,而且必須帶參數為lua_State結構指針 返回的值是代表返回的數據個數,比如return 2;就可以代表 返回兩個整數啊,浮點數什麼的,象LUA的腳本編寫就可以這樣 i, j = Func() , 這樣就表示可以從Func介面函數中得到兩個返回值了 return 0; }
執行腳本語句可以讀文件,也可以直接讀函數名
注冊了
lua_register(g_Lua, "Message", myMessage); static int myMessage(lua_State *L) { OutputDebugString("OK"); return 0; } lua_dofile(g_Lua, strCurPath); //讀文件,必須給出完整的文件路徑名稱 lua_dostring(g_Lua, "Message()"); //直接讀函數
文件中只要寫上
Message()
就可以了。
9. 手機上怎麼打開運行別人發過來的lua腳本文件(軟體)
手機上怎麼打開運行別人發過來的lua腳本文件(軟體),首先你的手機要支持這個文件,GG是自帶解密的,GG解不了,就手解mt就可以寫腳本,也有腳本模板。然後找到這個程序,把這個文件打開就可以了。