用 lua 写配置,其实更多的是倾向于嵌入式编程,写配置用 json/toml/yaml/xml 等文件可能更加好一点
以 linux 为例,windows 和 macOS 差不多(也是使用 brew 安装,更加方便)
curl -R -O http://www.lua.org/ftp/lua-5.4.4.tar.gz
tar zxf lua-5.4.4.tar.gz
cd lua-5.4.4
make all test
sudo make install
which lua # 检查 lua 命令
这里使用第二种 lua 文件运行,了解 lua 的模块化,从而能组成一个完整的程序
touch index.lua
nvim index.lua
print("hello world")
#!/usr/local/bin/lua
print("hello world")
t = {} t["k"] = "v", 分割变量 x, y = y, x没有类型标注,使用 type 判断类型
| 类型 | type | 说明 |
|---|---|---|
| nil | type(nil) -> nil |
nil 表示空,相当于:false。 一个未定义的变量使用时是 nil |
| string | type("hello world") -> string |
字符串支持单双引号 |
| boolean | type(false) -> boolean |
false/true |
| number | 3.14 * 2 -> number |
双精度实浮点型 |
| function | type(print) -> function |
Lua或C函数 |
| userdata | type(io.stdin) -> userdata |
表示任意存储在变量中的C数据结构 |
| thread | type(type) -> thread |
表示执行的独立线路,用于执行协同程序 |
| table | type({}) -> table |
“关联数组”(associative arrays |
----[[print("not work, commented")
--]]
[[]] 操作符.. 操作符#"your string" # 号操作符字符串的隐式操作行为,就不在这里讨论了,或者有时间在补充。
function end 关键字function fn