Luaという拡張プログラミング言語を知ったので、とりあえずどんな書き方するのかなと思い
まずサクッとLuaを動く環境を作成。
※本当にただ動かすだけですww
Luaとは
オブジェクト指向プログラミング、関数型プログラミング、データ駆動型プログラミングもサポートしている。
拡張言語であるため、Luaは「メイン」プログラムを持たない。 ホストクライアント (エンベッディングプログラム、あるいは単にホスト とも呼ぶ) に 組み込まれて 動くだけである。
ふむふむ。軽量で高速でC言語のホストプログラムに組み込まれる目的なわけか〜。
文法的で面白いのは、関数を変数として扱えるのか〜、ふむふむ。
まあとりあえずで、
環境: macOS
Luaをインストール&ヴァージョン確認
$ brew install lua
$ lua -v
Lua 5.3.4 Copyright (C) 1994-2017 Lua.org, PUC-Rio
LuaRocksをインストール
LuaRocksは、パッケージマネージャの1つ。
インストールした後、ホームディレクトリにモジュール等がインストールされるディレクトリを作成。
$ brew install luarocks
$ mkdir ~/.luarocks
ライブラリをインストール
CJSON: JSONを扱うライブラリである
LuaFileSystem: ファイルシステムを扱う
$ luarocks install --local lua-cjson
$ luarocks install --local luafilesystem
test.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("from JSON File...." ..val.sample)
helloworld.jsonを作成
{ "sample":"Hello World!!!!"}
実行
$ lua ./test.lua
構成はこんなかんじになった(当たり前だけどw)
├── bin
│ ├── json2lua
│ └── lua2json
├── helloworld.json
├── lib
│ ├── lua
│ │ └── 5.3
│ └── luarocks
│ └── rocks-5.3
├── share
│ └── lua
│ └── 5.3
└── test.lua
出力
from JSON File....Hello World!!!!
参考:
http://milkpot.sakura.ne.jp/lua/lua51_manual_ja.html#1
https://dev.classmethod.jp/server-side/language/installation_of_lua/