6 – 標準ライブラリ

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

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

failという表記は、何らかの失敗を表す偽の値を意味します。(現在、failnilと同じですが、将来のバージョンでは変更される可能性があります。これらの関数の成功を調べるときは、常に(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

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