lua腳本基礎
1.界面的編寫很大一部分可以通過腳本來實現, 可以修改加腳本而不必重新編譯程序, 可以節省界面設計的時間
2.lua腳本設計目的是為了嵌入應用程序中, 為應用程序提供靈活的擴展功能
3.lua腳本可以被c/c++調用, 也可以調用c/c++的函數, 也可以代替xml, ini等文件, 容易理解和維護
4.lua由標準c編寫而成, 解釋器不過200k, 在目前所有腳本引擎中, lua的速度最快, 是作為嵌入式腳本的最佳選擇
5.lua_open() 返回一個指向lua解釋器的一個指針
6.luaL_openlibs() 裝載lua庫, 提供了一些簡單的函數, 如print
7.luaL_dofile() 執行腳本
8.lua_close() 關閉lua
9.相關頭文件:
    #include "lua.h"
    #include "lualib.h"
    #include "lauxlib.h"
    #pragma comment(lib, "lua5.1.lib") //5.1版本的lua庫
    lua_State* L; //lua解釋器指針
    L = lua_open(); //初始化lua
    luaL_openlibs(L); //載入lua基本庫
    luaL_dofile(L, "test.lua"); //執行腳本
    lua_close(L); //清除lua
10.解釋器加載lua腳本程序庫: dofile("test.lua")
   然后就可以執行test.lua里面的函數了
11.lua_getglobal(L, "add"); //lua庫的add全局函數
    luapushnumber(L, x); //將x壓棧
    luapushnumber(L, y); //將y壓棧
    lua_call(L, 2, 1); //調用前面的add函數, 2個參數, 1個返回值
    int ret = (int)lua_tonumber(L, -1); //取得返回值
    lua_pop(L, 1); //彈出棧
12.lua的注釋:
    單行注釋: 從"--"到行末
    多行注釋: 從"--[["到"]]", 當重新啟用這段代碼時
    技巧:
    --[[
    語句
    --]]
    這樣注釋后, 只要在"--[["前加一個"-", 那么語句就可以執行了
13.lua io輸入:
    a = io.read("*number") --read a number
14.lua中唯一一種數據結構 table
15.進入lua交互模式, 執行os.exit()時退出交互模式
    C:\>lua
    Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
    > os.exit()
   
    C:\>
16.用lua -i參數來執行lua解釋器時, 運行完lua程序后將進入交互式模式
   -i對于調試收工測試尤為有用
   用lua -e參數, 可以直接在命令行中輸入代碼:
    C:\>lua -e "print(math.sin(12))"
    -0.53657291800043
   用lua -l 可以加載庫文件:
    lua -i -l a -e "x = 10" --命令行下加載庫a, 執行x=10操作, 執行完后進入交互模式
   只要定義了一個名為"_PROMPT"的全局變量, 解釋器就會用它的值作為交互模式的命令提示符
    lua -i -e "_PROMPT=' lua>'"
17.lua的保留字 --關鍵字:
   and break do else elseif
   end false for function if
   repeat return then true until
   while
18.全局變量不需要聲明, 只需要將一個值賦予一個全局變量就可以創建了, 在lua中訪問一個未初始化的變量不會出錯, 結果是一個nil值
   要刪除一個變量, 可以把這個變量賦值為nil
19.在交互模式中, 如果要打印任何表達式的值, 可以用等號開頭, 并跟隨一個表達式:
    = math.sin(3)
20.lua有8中基礎的類型
   nil(空) boolean(布爾) number(數字) string(字符串)
   userdata(自定義類型) function(函數) thread(線程)
   table(表)
   函數與type可以根據一個值返回其類型的名稱