lua tables - string representation
作为 lua 表的后续问题 - 允许的值和语法:
我需要一个将大数等同于字符串的表格。问题似乎是不允许使用标点符号的字符串:
1 2 3 4 | local Names = { [7022003001] = fulsom jct, OH [7022003002] = kennedy center, NY } |
但引号都不是:
1 2 3 4 | local Names = { [7022003001] ="fulsom jct, OH" [7022003002] ="kennedy center, NY" } |
我什至试过不加空格:
1 2 3 4 | local Names = { [7022003001] = fulsomjctOH [7022003002] = kennedycenterNY } |
加载此模块时,wireshark 抱怨 "}" 应该在 line 处关闭 "{"。如何使用包含空格和标点符号的字符串实现表?
根据 Lua 参考手册 - 3.1 - 词汇约定:
A short literal string can be delimited by matching single or double quotes, and can contain the (...) C-like escape sequences (...).
这意味着Lua中的短文字字符串是:
1 | local foo ="I'm a string literal" |
这与您的第二个示例相匹配。它失败的原因是因为它缺少表成员之间的分隔符:
1 2 3 4 | local Names = { [7022003001] ="fulsom jct, OH", [7022003002] ="kennedy center, NY" } |
您还可以在最后一个成员之后添加尾随分隔符。
表构造器的更详细描述可以在3.4.9 - 表构造器中找到。可以通过那里提供的示例来总结:
1 a = { [f(1)] = g;"x","y"; x = 1, f(x), [30] = 23; 45 }
我真的非常推荐使用 Lua 参考手册,它是一个了不起的帮手。
我也强烈建议您阅读一些基本教程,例如15 分钟学会 Lua。他们应该为您提供您尝试使用的语言的概述。