この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
nginxの設定が〜みたいな話をしていたら、そりゃluaで書くんでしょみたいな煽りをされたので、 ひとまず開発環境を構築してみることにします。
環境導入
homebrewが導入済みならば、bomebrewから一発です。 パッケージ管理ツールであるluarocksも入れておきます。
$ brew install lua
$ brew install luarocks
$ mkdir ~/.luarocks
$ luarocks path >> ~/.zshrc
3行目でユーザー環境でライブラリ等をインストールするディレクトリを作成しています。
4行目で環境変数を追加しています。 私はzshを使っているためzshrcに記載しましたが、使っているシェルに応じて対象ファイルを変更してください。
ライブラリ(CJSON)の導入
Lua上でJSONを扱うライブラリであるCJSONとファイルシステムを扱うLuaFileSystemを導入し、動作を確認してみます。
$ luarocks install --local lua-cjson
$ luarocks install --local luafilesystem
main.lua
local json = require 'cjson'
local lfs = require 'lfs'
local doc_path = "./"
local result
local file
local text
local val
for filename in lfs.dir(doc_path) do
result = string.find(filename,"^.*json$")
if result ~= nill then
file = io.open(filename,"r");
io.input(file);
text = io.read()
val = json.decode(text)
io.close(file)
end
end
print("JSON " .. text)
print("val.hello is " ..val.hello)
helloWorld.json
{ "hello":"world"}
動作結果
$ lua ./main.lua
JSON { "hello":"world"}
val.hello is world
まとめ
環境導入までは問題なく行えました。Windows環境でも試したかったのですが、 cjsonの導入でCコンパイラ周りでハマってしまいました。 ひとまずは今回構築した環境で進めていきたいと思います。