This Project Has Not Released Any Files
lualibs は最低限のライブラリしか用意されていない Lua でプログラミングをするためにあると便利な関数を提供するパッケージである.ConTeXt 由来.
(マニュアルに相当するものが見当たらないのですが,ご存知の方がいればリンクを追加して下さい.)
ConTeXt の Wiki でいくつか解説を見つけたのでリンクしておきます.
Lua プログラムや \directlua 中に require('lualibs') と書くと全てのモジュールが読み込まれる.一部のモジュールのみを読み込みたい場合は require('lualibs-<module name>') と書く.LuaTeX-ja では luaotfload を読み込むと同時に lualibs も読み込まれるので,あまりロードを気にせずに使っても問題ないはず.
以下ではよく使う関数についての簡単な解説を書く(随時追加予定).
テーブル操作を行うライブラリ.
テーブルの深いコピーを作成して返す.
Lua においてもテーブルの代入操作は主要な言語と同じく参照の代入となる.
> t = {1, 2} > print(t) table: 0x62cca0 > s = t > print(s) table: 0x62cca0 > s[2] = 3 > print(t[2]) 3そのため,テーブルの中身をコピーしようと思うと for 文を使って各要素をコピーする必要がある.しかし,テーブルの要素がまたテーブルである場合にも対応するためには再帰的に for 文を使う必要がある.table.fastcopy() はこの操作を実装したもの.
> t = {1, 2} > print(t) table: 0x6307a0 > s = table.fastcopy(t) > print(s) table: 0x642280 > s[2] = 3 > print(t[2]) 2
テーブルの中身を Lua でそのまま読み込み可能なテキスト形式でファイルに書き出す.
便利な使い方として,Unix 系 OS ではデバッグ時に table.tofile('/dev/stdout', <table>) とすればテーブルの中身を端末に出力できる.