Lua-standard-libraries

提供:Dev Guides
移動先:案内検索

Lua-標準ライブラリ

Lua標準ライブラリは、C APIで直接実装され、Luaプログラミング言語で組み込まれた豊富な機能セットを提供します。 これらのライブラリは、Luaプログラミング言語内でサービスを提供し、ファイルやdb操作などの外部サービスも提供します。

公式C APIに組み込まれたこれらの標準ライブラリは、個別のCモジュールとして提供されます。 以下が含まれます-

  • コルーチンサブライブラリを含む基本ライブラリ
  • モジュールライブラリ
  • 文字列操作
  • テーブル操作
  • 数学ライブラリ
  • ファイルの入出力
  • オペレーティングシステム設備 *デバッグ機能

基本ライブラリ

チュートリアル全体を通して、さまざまなトピックの下で基本ライブラリを使用しました。 次の表は、関連するページのリンクを提供し、このLuaチュートリアルのさまざまな部分で説明されている機能をリストしています。

Sr.No. Library/Method & Purpose
1
  • Error Handling*

link:/lua/lua_error_handling [Lua-エラー処理]で説明されているアサート、エラーなどのエラー処理関数が含まれています。

2

Memory Management

link:/lua/lua_garbage_collection [Lua-ガベージコレクション]で説明されている、ガベージコレクションに関連する自動メモリ管理機能が含まれています。

3

dofile ([filename])

ファイルを開き、ファイルの内容をチャンクとして実行します。 パラメータが渡されない場合、この関数は標準入力の内容を実行します。 エラーは呼び出し元に伝播されます。

4

_G

したがって、グローバル環境を保持するグローバル変数です(つまり、_G._G = _G)。 Lua自体はこの変数を使用しません。

5

getfenv ([f])

関数が使用している現在の環境を返します。 fはLua関数またはそのスタックレベルで関数を指定する数値です。レベル1はgetfenvを呼び出す関数です。 指定された関数がLua関数でない場合、またはfが0の場合、getfenvはグローバル環境を返します。 fのデフォルトは1です。

6

getmetatable (object)

オブジェクトにメタテーブルがない場合、nilを返します。 それ以外の場合、オブジェクトのメタテーブルに「__metatable」フィールドがある場合、関連する値を返します。 それ以外の場合、指定されたオブジェクトのメタテーブルを返します。

7

ipairs (t)

この関数は、テーブルのインデックスと値を取得します。

8

load (func [, chunkname])

関数funcを使用してチャンクをロードし、断片を取得します。 funcを呼び出すたびに、以前の結果と連結する文字列を返す必要があります。

9

loadfile ([filename]))

loadと似ていますが、ファイル名が指定されていない場合は、ファイルfilenameまたは標準入力からチャンクを取得します。

10

loadstring (string [, chunkname])

loadと似ていますが、指定された文字列からチャンクを取得します。

11

next (table [, index])

プログラムがテーブルのすべてのフィールドを走査できるようにします。 最初の引数はテーブルで、2番目の引数はこのテーブルのインデックスです。 nextは、テーブルの次のインデックスとそれに関連付けられた値を返します。

12

pairs (t)

実行中のコルーチンを一時停止します。 このメソッドに渡されるパラメーターは、再開関数への追加の戻り値として機能します。

13

print (…​)

実行中のコルーチンを一時停止します。 このメソッドに渡されるパラメーターは、再開関数への追加の戻り値として機能します。

14

rawequal (v1, v2)

メタメソッドを呼び出さずに、v1がv2と等しいかどうかを確認します。 ブール値を返します。

15

rawget (table, index)

メタメソッドを呼び出さずに、table [index]の実際の値を取得します。 テーブルはテーブルでなければなりません。インデックスは任意の値です。

16

rawset (table, index, value)

メタメソッドを呼び出さずに、table [index]の実際の値をvalueに設定します。 tableはテーブルであり、nilとは異なる値にインデックスを付け、Lua値を評価する必要があります。 この関数はテーブルを返します。

17

select (index, …​)

indexが数値の場合、引数番号indexの後のすべての引数を返します。 それ以外の場合、indexは文字列「#」である必要があり、selectは受け取った追加の引数の総数を返します。

18

setfenv (f, table)

指定された関数が使用する環境を設定します。 fはLua関数またはそのスタックレベルで関数を指定する数値です。レベル1はsetfenvを呼び出す関数です。 setfenvは、指定された関数を返します。 特別な場合として、fが0の場合、setfenvは実行中のスレッドの環境を変更します。 この場合、setfenvは値を返しません。

19

setmetatable (table, metatable)

指定されたテーブルのメタテーブルを設定します。 (Cからのみ、Luaから他のタイプのメタテーブルを変更することはできません。)metatableがnilの場合、指定されたテーブルのメタテーブルを削除します。 元のメタテーブルに「__metatable」フィールドがある場合、エラーが発生します。 この関数はテーブルを返します。

20

tonumber (e [, base])

引数を数値に変換しようとします。 引数がすでに数値または数値に変換可能な文字列である場合、tonumberはこの数値を返します。それ以外の場合は、nilを返します。

21

tostring (e)

任意の型の引数を受け取り、適切な形式の文字列に変換します。 数値の変換方法を完全に制御するには、string.formatを使用します。

22

type (v)

文字列としてコード化された唯一の引数の型を返します。 この関数の可能な結果は、「nil」(値nilではなく文字列)、「number」、「string」、「boolean」、「table」、「function」、「thread」、および「userdata」です。

23

unpack (list [, i [, j]])

指定されたテーブルから要素を返します。

24

_VERSION

現在のインタープリターバージョンを含む文字列を保持するグローバル変数(関数ではない)。 この変数の現在の内容は「Lua 5.1」です。

25

Coroutines

link:/lua/lua_coroutines [Lua-コルーチン]で説明されているコルーチン操作関数が含まれています。

モジュールライブラリ

モジュールライブラリは、Luaにモジュールをロードするための基本機能を提供します。 グローバル環境にある1つの関数、requireを直接エクスポートします。 それ以外はすべてテーブルパッケージにエクスポートされます。 モジュールライブラリの詳細は、前の章のリンク:/lua/lua_modules [Lua-Modules]チュートリアルで説明されています。

文字列操作

Luaは、文字列操作関数の豊富なセットを提供します。 以前のリンク:/lua/lua_strings [Lua-Strings]チュートリアルでは、これについて詳しく説明しています。

テーブル操作

Luaは、ほとんどすべての操作でテーブルに依存しています。 以前のリンク:/lua/lua_tables [Lua-Tables]チュートリアルでは、これについて詳しく説明しています。

ファイルの入出力

プログラミングにはデータストレージ機能が必要になることが多く、これはLuaのファイルI/Oの標準ライブラリ関数によって提供されます。 以前のリンク:/lua/lua_file_io [Lua-File I/O]チュートリアルで説明されています。

デバッグ機能

Luaは、独自のデバッガを作成するためのすべてのプリミティブ関数を提供するデバッグライブラリを提供します。 以前のリンク:/lua/lua_debugging [Lua-Debugging]チュートリアルで説明されています。