lua 表 - 字符串表示
lua tables - string representation
作为 lua tables - allowed values and syntax 的后续问题:
我需要一个 table 将大数字等同于字符串。问题似乎是不允许带有标点符号的字符串:
local Names = {
[7022003001] = fulsom jct, OH
[7022003002] = kennedy center, NY
}
但引号也不是:
local Names = {
[7022003001] = "fulsom jct, OH"
[7022003002] = "kennedy center, NY"
}
我什至试过没有空格:
local Names = {
[7022003001] = fulsomjctOH
[7022003002] = kennedycenterNY
}
加载此模块时,wireshark 抱怨“}”应该在第 行关闭“{”。如何使用包含空格和标点符号的字符串实现 table?
根据Lua Reference Manual - 3.1 - Lexical Conventions:
A short literal string can be delimited by matching single or double quotes, and can contain the (...) C-like escape sequences (...).
也就是说Lua中的短文字串是:
local foo = "I'm a string literal"
这与您的第二个示例相符。它失败的原因是因为它缺少 table 成员之间的分隔符:
local Names = {
[7022003001] = "fulsom jct, OH",
[7022003002] = "kennedy center, NY"
}
您还可以在最后一个成员之后添加尾随分隔符。
table 构造函数的更详细描述可以在 3.4.9 - Table Constructors 中找到。可以通过此处提供的示例进行总结:
a = { [f(1)] = g; "x", "y"; x = 1, f(x), [30] = 23; 45 }
我真的非常推荐使用 Lua 参考手册,它是一个了不起的帮手。
我也强烈建议您阅读一些基础教程,例如Learn Lua in 15 minutes。他们应该向您简要介绍您尝试使用的语言。
作为 lua tables - allowed values and syntax 的后续问题:
我需要一个 table 将大数字等同于字符串。问题似乎是不允许带有标点符号的字符串:
local Names = {
[7022003001] = fulsom jct, OH
[7022003002] = kennedy center, NY
}
但引号也不是:
local Names = {
[7022003001] = "fulsom jct, OH"
[7022003002] = "kennedy center, NY"
}
我什至试过没有空格:
local Names = {
[7022003001] = fulsomjctOH
[7022003002] = kennedycenterNY
}
加载此模块时,wireshark 抱怨“}”应该在第 行关闭“{”。如何使用包含空格和标点符号的字符串实现 table?
根据Lua Reference Manual - 3.1 - Lexical Conventions:
A short literal string can be delimited by matching single or double quotes, and can contain the (...) C-like escape sequences (...).
也就是说Lua中的短文字串是:
local foo = "I'm a string literal"
这与您的第二个示例相符。它失败的原因是因为它缺少 table 成员之间的分隔符:
local Names = {
[7022003001] = "fulsom jct, OH",
[7022003002] = "kennedy center, NY"
}
您还可以在最后一个成员之后添加尾随分隔符。
table 构造函数的更详细描述可以在 3.4.9 - Table Constructors 中找到。可以通过此处提供的示例进行总结:
a = { [f(1)] = g; "x", "y"; x = 1, f(x), [30] = 23; 45 }
我真的非常推荐使用 Lua 参考手册,它是一个了不起的帮手。
我也强烈建议您阅读一些基础教程,例如Learn Lua in 15 minutes。他们应该向您简要介绍您尝试使用的语言。