在 Lua 中,我看到 print 函数使用 ..var..,我想知道这些句点代表什么?

这是一个例子: print(“PARAM”..param_index..” = ”..param.value)

这些奇怪的句号是什么意思?

点赞
用户400127
用户400127

字符串拼接

在 Lua 中,字符串是不可变的值,因此字符串拼接的结果是一个新的字符串。

Lua 提供了两个操作符来进行字符串拼接: ..... 。 两者的区别如下:

  • .. 操作符连接两个字符串,并返回一个新字符串。例:
print("Hello" .. " World")  --> 输出 "Hello World"
  • ... 操作符用于多个字符串连接。 例:
print(table.concat({"Hello ", "World", ", ", "Lua"}, "..."))  --> 输出 "Hello World, Lua"

请注意,.. 操作符可以连接任何两个值,而 ... 操作符只能用于字符串数组的拼接。

使用字符串格式化

Lua 的字符串库还提供了一系列函数,用于根据格式字符串和一组参数创建格式化字符串。它们可以帮助我们轻松地将变量/值插入到字符串中。 以下是一些常用的 string.format 的用法:

  • %d, %i: 格式化为十进制整数。 例:
print(string.format("%d", 10)) --> 输出 "10"
  • %f: 格式化为浮点数。 例:
print(string.format("%f", 3.14)) --> 输出 "3.140000"
  • %s: 格式化为字符串。 例:
print(string.format("%s", "Hello")) --> 输出 "Hello"
  • %c: 格式化为字符。 例:
print(string.format("%c", 65)) --> 输出 "A"
  • %o: 格式化为八进制整数。 例:
print(string.format("%o", 10)) --> 输出 "12"
  • %x, %X: 格式化为十六进制整数, %x 生成的字母为小写, %X 生成的字母为大写。 例:
print(string.format("%x", 255)) --> 输出 "ff"
print(string.format("%X", 255)) --> 输出 "FF"

了解更多关于字符串库的函数和用法,可以查看 Lua 5.4 文档。不要忘记在编写代码时,遵循正确的编程实践,例如使用本地变量、避免全局变量等。这将确保你的代码更加健壮、可维护和高效。

2013-03-16 09:18:37