table.concat
【函数说明】
Lua中table库提供的字符串连接函数,可以将一个序列内的字符串元素连接成一个长字符串。功能与“..”操作符类似,但鉴于".."操作符每次拼接字符串时,都会对字符串进行内存拷贝,所以该函数在拼接长字符串的时候性能较好。
【用法】
函数变参个数为4,依次为字符串序列、拼接符、起始元素下标、终止元素下标。
[vimos@vimos Documents]$ lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> a={"1","2","a","c"}
> print(table.concat(a))
12ac
> print(table.concat(a,"%"))
1%2%a%c
> print(table.concat(a,"%",2,3))
2%a
>
【易犯错误】
该函数的首个参数为一个序列,即数组类型的表,不能存在hole,否则拼接失败。
示例中的表的下标不全部是数值,即不满足数组的条件,拼接失败
[vimos@vimos Documents]$ lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> a={["1"]=1,["2"]=2,["a"]=3,["c"]=4}
> print(table.concat(a))
> >a={1,2,["a"]=3,["c"]=4}
> print(table.concat(a))
12
>
参考文章:
[1]Beginning Lua programming / Kurt Jung and Aaron Brown.p. cm.ISBN-13: 978-0-470-06917-2 (pbk.)ISBN-10: 0-470-06917-1 (pbk.)1. Lua (Computer program language) I. Brown, Aaron, 1973- II. Title.QA76.73.L82J96 2007005.13’3--dc22