6 – 標準ライブラリ

Luaの標準ライブラリは、C APIを通じてCで実装された便利な関数を提供します。一部の関数は、言語に不可欠なサービス(例:typeやgetmetatable)を提供します。ほかには、外部サービス(例:I/O)へのアクセスを提供する関数や、Lua自体でも実装できるものの、さまざまな理由からCで実装するに値する関数(例:table.sort)があります。

すべてのライブラリは公式C APIを通じて実装され、独立したCモジュールとして提供されます。特に記載がない限り、これらのライブラリ関数は、引数の数を期待する仮引数の数に合わせて調整しません。たとえば、foo(arg)と記載された関数を引数なしで呼び出すべきではありません。

failという表記は、何らかの失敗を表す偽の値を意味します。(現在、failはnilと同じですが、将来のバージョンでは変更される可能性があります。これらの関数の成功を調べるときは、常に(status == nil)ではなく(not status)を使うことを推奨します。)

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

  • 基本ライブラリ(§6.2)
  • コルーチンライブラリ(§6.3)
  • パッケージライブラリ(§6.4)
  • 文字列操作(§6.5)
  • 基本的なUTF-8サポート(§6.6)
  • テーブル操作(§6.7)
  • 数学関数(§6.8)(sin、logなど)
  • 入出力(§6.9)
  • オペレーティングシステム機能(§6.10)
  • デバッグ機能(§6.11)

基本ライブラリとパッケージライブラリを除き、各ライブラリはすべての関数をグローバルテーブルのフィールドまたは自身のオブジェクトのメソッドとして提供します。