返回首页 - Notes - 2011

Lua 字符串


Lua 的字符串不能像 C 语言一样可以直接修改,它通常是新建了一个改动过的副本,Lua 可以高效处理长字符串,无须担心字符串的分配和释放

如果使用 [[]] 来包围字符串,则可以在其中自由换行而无需使用转义字符,如

print [[
Contenttype:text/html

<html>
<head><title> hello world </title></head>
<body>
    Hello, this is your first Lua CGI page!
</body>
</html>
]]

如果字符串可以合法地转化成数字且当前语义环境需要数字时,则 Lua 会自动进行这种转化,如:print("10" + 1) = 11print("2" + "1") = 3

相应地,如果当前语义环境需要字符串时,Lua 也会自动将数字转化成字符串,如:print(1 .. 2) = 12

Lua 使用两个连续的点号 .. 作为字符串连接符,如果在一个数字之后使用它则需要空一个空格,以免被解析成小数点

最好是使用强制转化,这样不至于出现莫名其妙的错误

  1. 字符串转数字可以使用函数 tonumber
  2. 数字转字符串可以使用函数 tostring 或者在数字后面连接一个空字符串 123 .. ''

在字符串前面放置长度操作符 # 可以获得该字符串的长度,如:print(#"Ruchee") = 6


date : 2011-10-01