有時會遇到需要將乙個table儲存起來或傳遞給另乙個string中的時候,table的序列化和反序列化就起到作用了。
需要使用到乙個輔助函式
functiontostringex(value)
iftype(value)=='
table
'then
return
tabletostr(value)
elseif
type(value)=='
string
'then
return"\'
"..value.."\'"
else
return
tostring
(value)
endend
table to string
functiontabletostr(t)
if t == nil
then
return
""end
local retstr= "
"return
retstr
end
string to table
functionstrtotable(str)
if str == nil
ortype(str) ~= "
string
"then
return
endreturn
loadstring("
return
".. str)()
end
測試結果
local t1 = } }print(t1.b[2
].x)
-- strb2x
local str1 =tabletostr(t1)
(str1)
-- ,['b']='strbb'}}
local t2 =strtotable(str1)
print(t2['
b'][2].x)
-- strb2x
Lua學習筆記 table轉為字串
1 將table中的成員進行連線,使其成為乙個字串,可以採用table.concat 方法。例如 a print table.concat a 列印出的結果是1ab4。如果是print table.concat a,則列印的結果是1,a,b,4 2 將字串轉table t str text str ...
Lua 筆記 Lua 字串
目錄 lua 字串 字串操作 字串擷取 字串大小寫轉換 字串查詢與反轉 字串格式化 字元與整數相互轉換 案例 string1 lua print 字串 1 是 string1 string2 runoob.com print 字串 2 是 string2 string3 lua 教程 print 字...
QString string和C字串相互轉換
std string轉換成qstring string std str abc qstring q str qstring fromstdstring std str qstring轉換成std string qstring q str abc string q str.tostdstring st...