同步发表於个人网站
LuaRocks是类似npm、pip这样的套件管理工具,你可以在上头找到近4000个别人已经写好的模组。
在示例前,你需要先下载安装好LuaRocks,若要下载其他版本,可以在这个页面寻找看看。
在Linux上,你只需要将其解压缩於可执行路径底下即可。Windows可以参考官方说明。
你可以不用做这一步。略过这一不的话,之後安装得套件会存在於全局里。有这样的作法,主要是用於开发其他套件时使用。
mkdir example
cd example
luarocks init
luarocks search json
###############
# ......
# lua-json
# 0.1.3-1 (rockspec) - https://luarocks.org
# 0.1.3-1 (src) - https://luarocks.org
# ......
###############
luarocks install lua-json
在模组化提过require
与package.path
有关。其实,还与package.cpath
有关。这两个变数都可以透过环境变数LUA_PATH
和LUA_CPATH
来调整。
LuaRocks提供的半自动化处理的工具:
luarocks path --bin
或是直接使用:
eval $(luarocks path --bin)
如果你使用的LuaRocks和当前使用的Lua是不同版本,你可能会需要多加上一个参数:
luarocks --lua-version 5.4
local json = require 'json'
lua-json符合先前提到过得模组设计惯例,所以也可以直接使用:
require "json"
object = {
field = "name"
}
array = {9, 8, 7, 6, 5}
json.encode(object) --> {"field":"name"}
json.encode(array) --> [9,8,7,6,5]
arr = json.decode "[9,8,7,6,5,4]"
for i, v in ipairs(arr) do
print(i, v) -- 与JS不同的是,Lua阵列从1开始
end
obj = json.decode [[
{
"key": "value"
}
]]
for k, v in pairs(obj) do
print(k, v) --> "key" "value"
end
※ 更多详细方法,自行搜寻文件拉~
※ 听说是有更为高效好用的json相关套件,可以在LuaRocks找找。
If you use Windows, try LuaDist, a multi-platform distribution of the Lua that includes batteries.
LuaDist是官方推荐Windows下使用的一种环境。我先假设你已经安装好了LuaDist,而LuaDist可以替你安装Lua、LuaRocks和Lua的套件。
luadist . install lua
这会将lua安装於当前目录,你可以透过./bin/lua
执行:
./bin/lua
当前目录结构:
与安装Lua类似
luadist . install luarocks
luadist . install luajson
基本上使用方式与LuaRocks安装後使用相同。不过我自己是Linux环境,还有更多东西要处理......也就是在Linux上使用上是有些困难的,这也是我放於最後才介绍这个工具的原因之一。
<<: I Want To Know React - 中场休息
>>: 玩转 Storybook: Day 30 总结 & 学习资源
前言 在上一章节中,学会了基本的档案与目录之管理以及档案系统的目录架构之後,在这个章节中,要教导如何...
Introduction Type Signature of :: Applicative f =&...
跳转到IG、youtube 常常会看到许多程序有一个可以跳转到他们自己的ig、youtube的功能,...
看过很多文章提到程序设计师接案的陷阱,因自己非本科出身,所以觉得这些陷阱都不会发生在自己身上,再加上...
Metrics - 观察系统的健康指标 系列文章 (1/6) - Metrics 与 Metricb...