Skip to content

LuaJITライブラリ

LuaJITはLua5.1と互換性があり、必要に応じてLua5.2、5.3から機能を追加しています。また、FFIやJIT関係の関数など、LuaJIT独自の機能を追加しています。

LuaJIT独自の拡張がある関数には、互換性の欄に(*)の表記を追加しています。

基本ライブラリ

変数/定数/テーブル

名前説明互換性
_Gグローバル環境Lua5.1
_VERSION現在のLuaのバージョンLua5.1

関数/メソッド

名前説明互換性
assert条件が偽の場合、エラーを発生させるLua5.3
collectgarbageガベージコレクタを制御するLua5.1
dofile指定されたファイルをLuaスクリプトとして実行するLua5.1
error実行中の関数を停止し、エラーメッセージを返すLua5.1
getfenv関数やスレッドの環境テーブルを取得するLua5.1
getmetatableオブジェクトのメタテーブルを返すLua5.1
ipairs配列テーブルを順番にイテレートするためのイテレータ関数Lua5.1
load文字列や関数からLuaコードを読み込み、チャンクを返すLua5.2(*)
loadfileファイルからLuaコードを読み込み、チャンクを返すLua5.2(*)
loadstring文字列からLuaコードを読み込み、チャンクを返すLua5.1(*)
nextテーブルの次のキーと値を返し、テーブルをトラバース可能にするLua5.1
pairsテーブル全体をトラバースするためのイテレータ関数Lua5.1
pcall保護されたモードで関数を呼び出す(エラーが発生しても処理を継続させる)Lua5.1
print標準出力に値を出力するLua5.1
rawequal2つの値が等しいかをチェックする(メタメソッドは呼び出されない)Lua5.1
rawgetテーブルから直接値を取得する(メタメソッドは呼び出されない)Lua5.1
rawsetテーブルに直接値を設定する(メタメソッドは呼び出されない)Lua5.1
select可変長引数の中から特定の引数を返すLua5.1
setfenv関数に新しい環境テーブルを設定するLua5.1
setmetatableテーブルにメタテーブルを設定するLua5.1
tonumber値を数値に変換するLua5.1
tostring値を文字列に変換するLua5.1
type引数のデータ型を文字列で返すLua5.1
unpackテーブルの要素を複数の引数として展開するLua5.1
xpcall保護されたモードで関数を呼び出す(エラーハンドラを指定する)Lua5.1(*)

コルーチン操作 (coroutine.*)

名前説明互換性
coroutine.create新しいコルーチンを作成するLua5.1
coroutine.resumeコルーチンを再開するLua5.1
coroutine.running実行中のコルーチンを返すLua5.1
coroutine.statusコルーチンの状態を返すLua5.1
coroutine.wrapコルーチンを関数としてラップするLua5.1
coroutine.yieldコルーチンを一時停止し、再開できるようにするLua5.1
coroutine.isyieldable現在の関数が中断可能かどうかを判定するLua5.3

モジュール (package.*)

変数/定数/テーブル

名前説明互換性
package.cpathCライブラリの検索パスを定義するLua5.1
package.loadedすでにロードされたモジュールを保持するテーブルLua5.1
package.loadersモジュールのロード関数のリスト(非推奨、Lua5.2以降ではsearchersLua5.1
package.pathLuaスクリプトの検索パスを定義するLua5.1
package.preloadモジュールを手動で登録するためのテーブルLua5.1

関数/メソッド

名前説明互換性
moduleモジュールを定義する(非推奨)。Lua5.1
requireモジュールをロードして返すLua5.1
package.loadlibCライブラリをロードするLua5.2
package.seeallモジュールがグローバルな変数にアクセスできるようにする(非推奨)Lua5.1
package.searchpath指定されたモジュール名をパスで検索するLua5.2

文字列操作 (string.*)

名前説明互換性
string.byte指定された位置の文字のバイト値を返すLua5.1
string.charバイト値の列を文字列に変換するLua5.1
string.dump関数のバイトコードを返すLua5.1(*)
string.find文字列内でパターン検索を行うLua5.1
string.formatフォーマットに従って文字列を生成するLua5.2
string.gmatchパターンに一致する部分を順次返すイテレータを生成するLua5.1
string.gsub文字列内でパターンに一致する部分を置換するLua5.1
string.len文字列の長さを返すLua5.1
string.lower文字列をすべて小文字に変換するLua5.1
string.match文字列内でパターンに一致する部分を返すLua5.1
string.rep文字列を指定回数繰り返し、任意で区切り文字を追加するLua5.2
string.reverse文字列を逆順にするLua5.1
string.sub文字列の部分文字列を返すLua5.1
string.upper文字列をすべて大文字に変換するLua5.1

テーブル操作 (table.*)

名前説明互換性
table.concatテーブルの要素を連結し、文字列を返すLua5.1
table.insertテーブルに要素を挿入するLua5.1
table.maxnテーブル内の数値キーの最大値を返す(非推奨)Lua5.1
table.removeテーブルから要素を削除するLua5.1
table.sortテーブルの要素をソートするLua5.1
table.new指定されたサイズで新しいテーブルを作成するLuaJIT
table.clearテーブル内のすべての要素を削除するLuaJIT
table.moveテーブルの一部の要素を他の位置に移動するLua5.3

数学関数 (math.*)

変数/定数/テーブル

名前説明互換性
math.huge無限大を表す定数Lua5.1
math.piπ(円周率)を表す定数Lua5.1

関数/メソッド

名前説明互換性
math.abs絶対値を返すLua5.1
math.acosアークコサインを返すLua5.1
math.asinアークサインを返すLua5.1
math.atanアークタンジェントを返すLua5.1
math.atan22つの引数の逆正接を返すLua5.1
math.ceil指定された数値以上の最小の整数を返すLua5.1
math.cosコサインを返すLua5.1
math.coshハイパーボリックコサインを返すLua5.1
math.degラジアンを度に変換するLua5.1
math.exp指定された数のe乗を返すLua5.1
math.floor指定された数値以下の最大の整数を返すLua5.1
math.fmod商の小数部を返す(余りを返す)Lua5.1
math.frexp浮動小数点数を仮数部と指数部に分解するLua5.1
math.ldexp仮数部と指数部から浮動小数点数を構成するLua5.1
math.log自然対数を返すLua5.2
math.log10常用対数を返すLua5.1
math.max引数の中で最大の数を返すLua5.1
math.min引数の中で最小の数を返すLua5.1
math.modf整数部分と小数部分を分けて返すLua5.1
math.powべき乗を計算する(^演算子と同じ)Lua5.1
math.rad度をラジアンに変換するLua5.1
math.randomランダムな数値を返すLua5.1
math.randomseed乱数生成器の種を設定するLua5.1
math.sinサインを返すLua5.1
math.sinhハイパーボリックサインを返すLua5.1
math.sqrt平方根を返すLua5.1
math.tanタンジェントを返すLua5.1
math.tanh双曲線正接を返すLua5.1

入出力機能 (io.* | file:*)

名前説明互換性
io.close現在の出力ファイルを閉じるLua5.1
io.flush書き込みバッファをフラッシュするLua5.1
io.input入力ファイルを設定または返すLua5.1
io.linesファイルの各行を返すイテレータを作成するLua5.1
io.openファイルを指定モードで開くLua5.1
io.output出力ファイルを設定または返すLua5.1
io.popenサブプロセスを開き、その標準入出力にアクセスするLua5.1
io.read入力から指定された形式でデータを読み取るLua5.3
io.tmpfile一時ファイルを作成し開くLua5.1
io.type引数がファイルハンドルかどうかを判定するLua5.1
io.write出力にデータを書き込むLua5.1
file:closeファイルを閉じるLua5.1
file:flush書き込みバッファをフラッシュするLua5.1
file:linesファイルの各行を返すイテレータを作成するLua5.1
file:readファイルから指定された形式でデータを読み取るLua5.3
file:seekファイルの読み書き位置を設定または取得するLua5.1
file:setvbufバッファリングモードを設定するLua5.1
file:writeファイルにデータを書き込むLua5.1

OSの機能 (os.*)

名前説明互換性
os.clockプログラムの実行時間を返すLua5.1
os.date現在の日時をフォーマットして返すLua5.1
os.difftime2つの時刻の差を秒で返すLua5.1
os.executeシステムコマンドを実行するLua5.1
os.exitプログラムを終了するLua5.2
os.getenv環境変数の値を取得するLua5.1
os.removeファイルを削除するLua5.1
os.renameファイルの名前を変更するLua5.1
os.setlocaleロケール情報を設定するLua5.1
os.time現在の時刻をタイムスタンプとして返すLua5.1
os.tmpname一時ファイル名を返すLua5.1

デバッグ機能 (debug.*)

名前説明互換性
debug.debug簡易デバッガを開始するLua5.1
debug.getfenv指定した関数やスレッドの環境テーブルを取得するLua5.1
debug.gethook現在設定されているフック関数を返すLua5.1
debug.getinfo関数やスレッドに関する情報を返すLua5.1
debug.getlocal指定されたスタックレベルにある関数のローカル変数を取得するLua5.1
debug.getmetatableオブジェクトのメタテーブルを取得するLua5.1
debug.getregistryLuaのレジストリテーブルを取得するLua5.1
debug.getupvalue指定した関数のアップバリューを取得するLua5.1
debug.setfenv関数やスレッドに環境テーブルを設定するLua5.1
debug.sethook指定したフック関数を設定するLua5.1
debug.setlocal指定した関数のローカル変数の値を設定するLua5.1
debug.setmetatableオブジェクトにメタテーブルを設定するLua5.1
debug.setupvalue指定した関数のアップバリューに値を設定するLua5.1
debug.tracebackスタックトレースを返すLua5.1
debug.upvalueid指定した関数のアップバリューに固有のIDを返すLua5.2
debug.upvaluejoin2つの関数のアップバリューを結合するLua5.2

ビット単位の操作 (bit.*)

名前説明互換性
bit.tobit数値を32ビット整数に変換するLuaJIT
bit.tohex数値を16進数の文字列に変換するLuaJIT
bit.bnot数値のビット単位のNOT演算を行うLuaJIT
bit.band数値同士のビット単位のAND演算を行うLuaJIT
bit.bor数値同士のビット単位のOR演算を行うLuaJIT
bit.bxor数値同士のビット単位のXOR演算を行うLuaJIT
bit.lshift数値を左にビットシフトするLuaJIT
bit.rshift数値を右にビットシフトする(符号なし)LuaJIT
bit.arshift数値を右にビットシフトする(符号あり)LuaJIT
bit.rol数値を左にローテートシフトするLuaJIT
bit.ror数値を右にローテートシフトするLuaJIT
bit.bswap32ビット整数のバイト順序を逆転させる(エンディアン変換)LuaJIT

FFIライブラリ (ffi.*)

変数/定数/テーブル

名前説明互換性
ffi.os現在のターゲットOSの名前を示す文字列LuaJIT
ffi.arch現在のターゲットアーキテクチャの名前を示す文字列LuaJIT

関数/メソッド

名前説明互換性
ffi.cdefC言語の宣言をLuaJITに定義するLuaJIT
ffi.CC標準ライブラリへのアクセスを提供するLuaJIT
ffi.load共有ライブラリをロードし、関数や変数にアクセスするLuaJIT
ffi.new指定された型の新しいCデータを作成するLuaJIT
ctypeffi.newffi.castなどで使用されるC型を定義するLuaJIT
ffi.typeof型を定義し、キャッシュするLuaJIT
ffi.cast型にCデータをキャストするLuaJIT
ffi.metatypeCデータ型にメタテーブルを設定するLuaJIT
ffi.gcガベージコレクションでメモリを解放するための関数を登録するLuaJIT
ffi.sizeof型やオブジェクトのサイズ(バイト数)を返すLuaJIT
ffi.alignof型のアラインメントを返すLuaJIT
ffi.offsetofC構造体のフィールドのオフセットを返すLuaJIT
ffi.errnoCライブラリのerrnoの値を取得または設定するLuaJIT
ffi.stringCの文字列(char*)をLuaの文字列に変換するLuaJIT
ffi.copyメモリ間でデータをコピーするLuaJIT
ffi.fillメモリを指定された値で埋めるLuaJIT
ffi.abi実行環境に関するABI情報を取得するLuaJIT
cb:freeコールバック関数を解放するLuaJIT
cb:setコールバック関数を設定するLuaJIT

文字列バッファ (buffer.*)

名前説明互換性
buffer.new新しいバッファオブジェクトを作成するLuaJIT
buf:resetバッファをリセットして、再利用可能にするLuaJIT
buf:freeバッファスペースを解放し、オブジェクトを再利用可能にするLuaJIT
buf:putデータをバッファに追加するLuaJIT
buf:putfフォーマットしたデータをバッファに追加するLuaJIT
buf:putcdataFFI cdataをバッファに追加するLuaJIT
buf:set指定したデータでバッファをリセットするLuaJIT
buf:reserve指定したサイズの書き込みスペースを予約するLuaJIT
buf:skip指定したバイト数をスキップしてバッファデータを消費するLuaJIT
buf:getバッファからデータを取得して消費するLuaJIT
buf:tostringバッファデータを消費せずに文字列として取得するLuaJIT
buf:refバッファデータを指すポインタと長さを取得するLuaJIT
buffer.encodeLuaオブジェクトをシリアライズするLuaJIT
buffer.decodeシリアライズされた文字列をデシリアライズするLuaJIT

JITライブラリ (jit.*)

変数/定数/テーブル

名前説明互換性
jit.versionLuaJITのバージョンを示す文字列LuaJIT
jit.version_numLuaJITのバージョン番号を整数で表したものLuaJIT
jit.os現在のターゲットOSの名前を示す文字列LuaJIT
jit.arch現在のターゲットアーキテクチャの名前を示す文字列LuaJIT

関数/メソッド

名前説明互換性
jit.onJITコンパイラを有効にするLuaJIT
jit.offJITコンパイラを無効にするLuaJIT
jit.flushJITコンパイル済みコードをクリアし、再コンパイルさせるLuaJIT
jit.statusJITコンパイラの現在のステータスを返すLuaJIT
jit.opt.*JITの最適化オプションを設定または取得するための関数群LuaJIT
jit.util.*JITコンパイラの内部情報やデバッグツールにアクセスするための関数群LuaJIT