6 標準ライブラリ

Lua の標準ライブラリは C API を使って C で実装された便利な関数を提供します。typegetmetatable のように言語で重要な役割を果たす関数もあれば、I/O のように外部へのアクセスを提供する関数、あるいは table.sort のように Lua でも実装可能であるものの様々な理由により C での実装がふさわしい関数が含まれます。

全てのライブラリは公式の C API を使って実装されており、個別の C モジュールとして提供されます。特に断りがない限り、ライブラリ関数は引数の数をパラメータの数に合うよう調整しません。例えばドキュメントに foo(arg) とあるなら、foo を引数無しに呼ぶことはできません。

ライブラリの説明で登場する fail は何らかの失敗を表す偽値を意味します。現在のバージョンでは failnil としていますが、将来のバージョンで変更される可能性があります。そのため fail を返す可能性のある関数のエラー判定では (status == nil) ではなく (not status) を使うことが推奨されます。

現在 Lua には次の標準ライブラリがあります:

基礎ライブラリとパッケージライブラリ以外のライブラリに含まれる全ての関数は、グローバルなテーブルのフィールドあるいはグローバルなテーブルに含まれるオブジェクトのメソッドとして提供されます。

標準ライブラリにアクセスするには、C のホストプログラムから luaL_openlibs 関数を呼び出します。この関数は全ての標準ライブラリをオープンしますが、代わりに luaL_requiref を使って標準ライブラリを個別にオープンすることもできます。このとき openf には次の関数を指定します:

目次