LUA并不象其它許多"大而全"的語言那樣,包括很多功能,比如網(wǎng)絡(luò)通訊、圖形界面等。但是LUA可以很容易地被擴(kuò)展:由宿主語言(通常是C或C++)提供這些功能,LUA可以使用它們,就像是本來就內(nèi)置的功能一樣。LUA只包括一個精簡的核心和最基本的庫。這使得LUA體積小、啟動速度快,從而適合嵌入在別的程序里。因此在lua中并沒有其他語言那樣多的系統(tǒng)函數(shù)。習(xí)慣了其他語言的字符串分割函數(shù),與是就自己寫了一個,記錄在此,以備使用.
下面在簡單介紹下lua:
Lua 是一個小巧的腳本語言。作者是巴西人。該語言的設(shè)計目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。
Lua腳本可以很容易的被C/C++代碼調(diào)用,也可以反過來調(diào)用C/C++的函數(shù),這使得Lua在應(yīng)用程序中可以被廣泛應(yīng)用。不僅僅作為擴(kuò)展腳本,也可以作為普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和維護(hù)。
Lua由標(biāo)準(zhǔn)C編寫而成,代碼簡潔優(yōu)美,幾乎在所有操作系統(tǒng)和平臺上都可以編譯,運行。
一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的最佳選擇。
復(fù)制代碼 代碼如下:
function Split(str, delim, maxNb)
-- Eliminate bad cases...
if string.find(str, delim) == nil then
return { str }
end
if maxNb == nil or maxNb 1 then
maxNb = 0 -- No limit
end
local result = {}
local pat = "(.-)" .. delim .. "()"
local nb = 0
local lastPos
for part, pos in string.gfind(str, pat) do
nb = nb + 1
result[nb] = part
lastPos = pos
if nb == maxNb then break end
end
-- Handle the last field
if nb ~= maxNb then
result[nb + 1] = string.sub(str, lastPos)
end
return result
end
您可能感興趣的文章:- Lua中使用table.concat連接大量字符串實例
- Lua教程(五):C/C++操作Lua數(shù)組和字符串示例
- Lua中字符串(string)淺析
- Lua字符串庫中的幾個重點函數(shù)介紹
- Lua函數(shù)與字符串處理簡明總結(jié)
- Lua中的string庫(字符串函數(shù)庫)總結(jié)
- Lua字符串模式匹配函數(shù)小結(jié)
- Lua字符串庫(string庫)學(xué)習(xí)筆記
- Lua源碼中字符串類型的實現(xiàn)