左メニュー
左メニューサンプル左メニューはヘッダーメニューの【編集】>【左メニューを編集する】をクリックすると編集できます。ご自由に編集してください。掲示板雑談・質問・相談掲示板更新履歴最近のコメントカウン...
翻訳が中途半端につき | Translate |
---|---|
この記事には翻訳されていない箇所があります。 どなたでも翻訳にご協力いただくことができます。 | |
◆原文へのリンク : w:c:dev:Lua reference manual/Standard libraries | |
ご協力お願いします |
The standard Lua libraries provide essential services and performance-critical functions to Lua. この記事では、主にScribunto上でも使用できる標準ライブラリについて記述します。
このアイコンがある物はAviUtl上での事について記述されています。Wikiこのアイコンがある物はWikia上での事について記述されています。グローバル変数を全て含むテーブルです。_G自身も含まれます。
_G自身をテーブルとして使用する例です。
Luaのバージョンを示す文字列です。
拡張編集 0.90d3時点での内容は"Lua 5.1"です。assert(v[, mes])
v が nil か false だった時、エラーメッセージmesを送出します
mes省略時のエラーメッセージは "assertion failed!" になります
error(mes[, level])
エラーメッセージmesを送出します
levelはエラーメッセージに付加する位置情報を指定します
1ならerror関数を呼び出した位置
2ならerror関数を呼び出した関数を呼び出した位置
levelが0か関数呼び出しの深度以上の場合、位置情報は付加されません
getfenv(f)
※Lua 5.2では削除されます。エンジン設定のallowEnvFuncsによって異なります。
指定された関数の現在の環境を返します。fにはLuaの関数かスタックレベルを指定します。
Wiki.pngすべての標準ライブラリ関数とScribuntoライブラリ関数によって使用される環境は保護されています。getfenvを使ってこれらの環境にアクセスしようとすると、代わりにnilが返されます。
getmetatable(t)
tのメタテーブルを返します
tのメタテーブルが__metatableメソッドを持ってたら、その値を返します
nilを返す事もあります
ipairs(t)
イテレータ関数、t、0の3つの値を返します。
上のコードは 1 から連続する t の正の整数のインデックスの要素すべてに対して処理を行いますiはインデックス、vはその値です
Wiki.pngeのメタテーブルが__ipairsメソッドを持っていたら、そちらを呼び出します
next(t[, i])
テーブルtの要素iの次の要素の名前と値を返します
iがnilもしくは未定義の値ならtの最初の要素の名前と値を返します
最後のインデックスで呼び出すか、空のテーブルに対してnilで呼び出すと、nextはnilを返す。 二番目の引数が省略された場合はnilと解釈される。 特に、next( t ) == nilを使うとテーブルが空かどうか調べることができる。
Luaにはフィールドの宣言がない。テーブル内にフィールドが存在しないのと、nil値が格納されたフィールドには、何の違いも無い。ゆえに、nextはnilでない値を持つフィールドのみを考慮する。インデックスが列挙される順番は、数値のインデックスに対しても、不定である (数値順にテーブルを巡回するには、数値用のfor文やipairs関数を使う)。
テーブルの巡回中に、もし存在していないフィールドに新たに値が割り当てられたら、nextの動作は未定義である。しかし既存のフィールドは変更してもよい。特に、既存のフィールドを消去するのは構わない。
pairs(t)
next関数、t、nilの3つの値を返します
上のコードはtの要素すべてに対して処理を行います k は要素名、v はその値です
巡回中にテーブルを変更する際の注意はnextを参照。eのメタテーブルが__pairsメソッドを持っていたら、そちらを呼び出します
pcall(f,[ ...])関数fに指定された引数を(protected modeで)渡して実行します。
関数f内でエラーが発生してもプログラムを中断せずに、falseとエラーコードを返します。
成功時はtrueと関数fの戻り値を返します。
関数の実行中にエラーが発生した場合、通常は呼び出し元までエラーが伝搬し、そこで実行を止めてしまう。しかし、アプリケーション組み込みのスクリプトでは特に、エラーが発生しても止まってほしくないことがある。そこで、単に関数を呼び出す代わりに pcall() という関数を使って関数を呼び出す。
擬似コードでは、pcallは次のようになります:
rawequal(a, b)
__eqメタメソッドを呼ばずにaとbが等しいか調べます。戻り値はブーリアンです
rawget(t, i)
__indexメタメソッドを呼ばずに t[i] の値を取得します。t はテーブルでなければなりません
rawset(t, i, v)
__newindexメタメソッドを呼ばずに t[i] に v を代入します。t はテーブルでなければなりません
select(i, ...)
iが整数なら[i+1]番目以降の引数の値を全て返しますiが文字列'#'ならiを除く引数の数を返します
言い換えれば、selectは...にnil値が含まれていても正しく動作することを除けば、ほぼ次のようなものです(nilの問題については #とunpackの項目をご覧ください)
負の値を指定することも可能で、その場合末尾からの位置になります。
setmetatable(t, meta)
テーブルtのメタテーブルを設定します
もしmetaがnilであれば、テーブルtのメタテーブルは除去される。 元のメタテーブルが__metatableフィールドを持っていると、エラーになる。
tonumber(e[, base])
eが数値か、数値に変換可能な文字列なら数値を、それ以外ならnilを返します
base(省略時:10)にはeを変換する際に使う基数を 2~36 の範囲で指定します
基数10では値は小数部を持ったり、E表記で表されたり、基数16ではそれを示すために先行 "0x"を持つ可能性があります。他の基数では、符号なし整数のみが受け入れられます。
tostring(e)
eを文字列に変換します
それぞれの型がどのように変換されるかについての詳細はLuaのデータ型を見てください。
eのメタテーブルが__tostringメソッドを持っていたら、そちらを呼び出します
type(v)
vの型を文字列で返します。返される文字列は以下のどれかです
"nil""number""string""boolean""table""function"Aviutl.png"thread""userdata"unpack(t[, i[, j]]
テーブルtの、i以上j以下の整数の要素すべてを返します
nilもしくは省略した時、iは 1、jは#tの値になります
tがシーケンスではなく、jがnilまたは未指定の場合、結果は確定的ではありません。詳細は長さ演算子を見てください。
※Lua 5.2からはテーブルライブラリになり、table.unpackとなります
xpcall(f, err)関数 f を実行し、エラーが発生したらエラーメッセージを引数に関数 err を実行します。
関数 f 成功時は true と関数 f の戻り値を返します。
失敗時はfalseと関数errの戻り値を返します。
擬似コードでは、xpcallは次のようになります:
セキュリティーの都合上、の無いコマンドはWikiaでは使用できません。
debug.debug()
ユーザーとの対話モードに入り、ユーザーが入力した文字列を実行する。単純なコマンドや他のデバッグ機能を使って、ユーザーはグローバル変数やローカル変数を調べたり値を変更したり式を評価したりその他ができる。ユーザーがcontだけの行を入力すると対話モードを終えて実行を継続する。
debug.debugで実行されるコマンドは、どの関数のレキシカルスコープにも入っていないので、ローカル変数へは直接アクセスできないことに注意。
debug.getmetatable(object)object のメタテーブルを返します
debug.setmetatable(object, t)object がテーブル型以外でもメタテーブルを設定します
debug.getlocal(level, i)スタックレベル level の i 番目のローカル変数の名前と値を返します
debug.setlocal(level, i, v)スタックレベル level の i 番目のローカル変数に v を代入します
i が存在しなければ nil を、そうでなければローカル変数の名前を返します
debug.getupvalue(f, i)関数 f の i 番目の上位値の名前と値を返します上位値が存在しなければ nil を返します
debug.setupvalue(f, i, v)関数 f の i 番目の上位値に v を代入しますi が存在しなければ nil を、そうでなければ上位値の名前を返します
debug.gethook()現在のフック関数、フックマスク、フックカウントを返します
debug.sethook(hook, mask [, count])フック関数をhook、フックマスクをmask、フックカウントをcount(もしくは)に設定します
debug.getfenv(o)オブジェクト o の環境を返す
debug.setfenv(object, table)指定した object の環境を指定した table にする。
debug.getregistry()レジストリテーブルを返します
debug.getinfo(f [, what])
関数に関する情報をテーブルに入れて返す。 関数を直接指定するか数値を指定することができる。 数値は、関数が走っているコールスタックのレベルを意味し、 レベル0は現在の関数 (getinfo 自身)、 レベル1は getinfo を呼び出した関数で、以下同様。 function がアクティブな関数の数よりも大きい数値であれば getinfo は nil を返す。
what はどのフィールドを埋めるかを記述する文字列で、 戻り値のテーブルには lua_getinfo から返されるフィールドがすべて含まれている。 what のデフォルト値では有効なすべての情報を取得する。 もし存在すれば、`f´ オプションは func という名前のフィールドにその関数自身を入れる。
例えば、式 debug.getinfo(1,"n").name は現在の関数の名前を返す (もし適当な名前があれば)。 debug.getinfo(print) は print 関数に関するすべての利用可能な情報を持つテーブルを返す。
debug.traceback([thread,] [message [, level]])message が文字列でも nil でもなければ、 それ以上の処理をせずに message を返します。 そうでなければ、 スタックトレースの文字列を返します。 省略可能な文字列 message がトレースの先頭に追加されます。 省略可能な数値 level はトレースを開始するレベルを指定します (デフォルトは 1 で、 traceback を呼んだ関数です)。
円周率( π {\displaystyle \pi } )を表す定数です
小数点以下14桁目を四捨五入しているようです。math.deg[]math.deg(x)
ラジアンxを角度(°)に変換します
r × 180 π {\displaystyle r\times {\frac {180}{\pi }}} {\displaystyle r\times {\frac {180}{\pi }}}ってことですmath.rad[]math.rad(x)
角度(x°)をラジアンに変換します
d × π 180 {\displaystyle d\times {\frac {\pi }{180}}} ってことですmath.sin[]math.sin(x)
ラジアンxからサインの値を得ます
math.cos[]math.cos(x)
ラジアンxからコサインの値を得ます
math.tan[]math.tan(x)
ラジアンxからタンジェントの値を得ます
math.asin[]math.asin(x)
サインxの値からラジアンを得ます。定義域は − 1 ≤ x ≤ 1 {\displaystyle -1\leq x\leq 1} {\displaystyle -1\leq x\leq 1}, 戻り値は − π 2 ≤ y ≤ π 2 {\displaystyle -{\frac {\pi }{2}}\leq y\leq {\frac {\pi }{2}}}
定義域外の値が渡されると戻り値はNaNになります
math.acos[]math.acos(x)
コサインの値xからラジアンを得ます。定義域は − 1 ≤ x ≤ 1 {\displaystyle -1\leq x\leq 1} {\displaystyle -1\leq x\leq 1}, 戻り値は 0 ≤ y ≤ π {\displaystyle 0\leq y\leq \pi }
定義域外の値が渡されると戻り値はNaNになります
math.atan[]math.atan(x)
タンジェントの値xからラジアンを得ます。戻り値は − π 2 ≤ y ≤ π 2 {\displaystyle -{\frac {\pi }{2}}\leq y\leq {\frac {\pi }{2}}} {\displaystyle -{\frac {\pi }{2}}\leq y\leq {\frac {\pi }{2}}}
math.atan2[]math.atan2(y, x)
座標からラジアンを得ます
言い換えるとすれば結果の象限を見つけるために両方のパラメータの符号を使って、y/xの逆正接(ラジアン)を返します。
math.sinh[]math.sinh(x)
xの双曲線正弦の値を返します
math.cosh[]math.cosh(x)
xの双曲線余弦の値を返します
math.tanh[]math.tanh(x)
xの双曲線正接の値を返します
math.pow(x, y)
xのy乗の値を返します。x^yの式でも代用できます
math.exp[]math.exp(x)
e x {\displaystyle e^{x}} {\displaystyle e^{x}}を返します
math.log[]math.log(x[,base])
baseを底とするxの対数を返します。base省略時は自然対数を返します
math.log10[]math.log10(x)
※この関数はLua 5.2で廃止予定です。math.log(x,10)と同じ値を返します
math.sqrt[]math.sqrt(x)
xの平方根の値を返します。x^0.5の式でも代用できます
math.ldexp[]math.ldexp(m, e)
m × 2 e {\displaystyle m\times 2^{e}} の値を返します。(eが実数だと四捨五入されて整数にされるようです)
math.frexp[]math.frexp(x)
mとeを返しますが・・・
math.abs(x)
| x | {\displaystyle |x|} {\displaystyle |x|}(xの絶対値)を返します
math.ceil[]math.ceil(x)
xの小数点以下を切り上げて整数にします
math.floor[]math.floor(x)
xの小数点以下を切り捨てて整数にします
math.fmod[]math.fmod(x, y)
xをyで割った余りを返します
x % yは、 x − y ⌊ x y ⌋ {\displaystyle x-y\left\lfloor {\frac {x}{y}}\right\rfloor } を返しますが、math.fmod(x,y)は、 s g n ( x ) ( | x | − | y | × ⌊ | x y | ⌋ ) {\displaystyle \mathrm {sgn} (x)\left(|x|-|y|\times \left\lfloor \left|{\frac {x}{y}}\right|\right\rfloor \right)} {\displaystyle \mathrm {sgn} (x)\left(|x|-|y|\times \left\lfloor \left|{\frac {x}{y}}\right|\right\rfloor \right)}を返します
y==0のときは、-1.#INFを返しますmath.max[]math.max(x, ...)
与えられた引数の中から最も大きい値を返します
NaNでの動作は指定されていません。現在の実装では、xがNaNの場合NaNが返されますが、それ以外のNaNは無視されます。
math.min[]math.min(x, ...)
与えられた引数の中から最も小さい値を返します
NaNでの動作は指定されていません。現在の実装では、xがNaNの場合NaNが返されますが、それ以外のNaNは無視されます。
math.huge[]正の無限大の値を表す定数です
math.modf[]math.modf(x)
xの整数部と小数部の2つの値を返します
math.random[]math.random([m[, n]])
乱数を返します
拡張編集の乱数とは違い、呼び出し毎に値が変わりますmとnは整数を設定する事ができます
math.randomseed(x)
乱数のシード値をxに設定します
ちなみに、乱数といっても擬似乱数なので同じシードを設定すると同じ順番でmath.randomの返値を生成します
セキュリティーの都合上、の無いコマンドはWikiaでは使用できません。
os.clock()
Luaステートが初期化されてから経過した秒数を返します
AviUtl拡張編集のLuaステートの初期化は初めてスクリプトが実行される直前に行われるようですos.date([fmt [, time]])os.date( format, time )
Language library's formatDate may be used for more comprehensive date formattingReturns a string or a table containing date and time, formatted according to format. If the format is omitted or nil, "%c" is used.
If time is given, it is the time to be formatted (see os.time()). Otherwise the current time is used.
If format starts with '!', then the date is formatted in UTC rather than the server's local time. After this optional character, if format is the string "*t", then date returns a table with the following fields:
If format is not "*t", then date returns the date as a string, formatted according to the same rules as the C function strftime.
os.difftime( t2, t1 )
時刻t1から時刻t2までの秒数を返します
os.time( table )
Returns a number representing the current time.
When called without arguments, returns the current time. If passed a table, the time encoded in the table will be parsed. The table must have the fields "year", "month", and "day", and may also include "hour" (default 12), "min" (default 0), "sec" (default 0), and "isdst".
os.remove(filename)
指定された名前のファイル、またはディレクトリを削除します
os.rename(old, new)
名前がoldのファイル、またはディレクトリをnewにリネームします
os.tmpfile()
一時ファイルの名前として使えるファイル名を返します
os.getenv(varname)
プロセスの環境変数varnameの値を返します
os.setlocale(locale [, category])
os.execute([cmd])
OSのシェルに文字列 cmdを渡して実行します
cmd省略時には、シェルが利用可能ならば非ゼロ、そうでなければゼロを返します
os.exit([code])
ホストプログラム(AviUtl)を終了させます
codeにはエラーがあればそのエラーコードを指定します省略時は成功を表すコードです
セキュリティーの都合上、の無いコマンドは使用できません。
require( modulename )
この疑似コードを見てくれ。こいつをどう思う?
Loads the specified module.
First, it looks in package.loaded[modulename] to see if the module is already loaded. If so, returns package.loaded[modulename].
Otherwise, it calls each loader in the package.loaders sequence to attempt to find a loader for the module. If a loader is found, that loader is called. The value returned by the loader is stored into package.loaded[modulename] and is returned.
See the documentation for package.loaders for information on the loaders available.
Note that every required module is loaded in its own sandboxed environment, so it cannot export global variables as is sometimes done in Lua 5.1. Instead, everything that the module wishes to export should be included in the table returned by the module.
For example, if you have a module "Module:Giving" containing the following:
You can load this in another module with code such as this:
Modules hosted in dev.wikia.com are called global modules because they can be loaded by other modules using a similar syntax to loading local modules.[1] The correct syntax to use is require("Dev:ModuleName") . This is case sensitive. It should also be added to all modules hosted on dev.wikia or else it'll attempt to use a module in a local wiki (e.g. crocodile.wikia.com).
You can load this in another module from another wiki with code such as this:
This table holds the loaded modules. The keys are the module names, and the values are the values returned when the module was loaded.
This table holds the sequence of searcher functions to use when loading modules. Each searcher function is called with a single argument, the name of the module to load. If the module is found, the searcher must return a function that will actually load the module and return the value to be returned by require. Otherwise, it must return nil.
Scribunto provides two searchers:
Note that the standard Lua loaders are not included.
This table holds loader functions, used by the first searcher Scribunto includes in package.loaders.
package.seeall( table )
Sets the __index metamethod for table to _G.
Luaの文字列のインデックス付けは、最初の文字が1の位置である (C、PHP、JavaScriptのように0ではない)。 文字列の末尾から逆方向にマイナス値で指定することもできる。 つまり、最後の文字は -1 の位置で示される。
『待った!』 この文字列ライブラリは1バイト専用と言ってもよく、2バイト以上の文字に対応していません。
2バイト以上の文字を含む場合は、ScribuntoのUstlingライブラリをご利用ください。
string.byte(s[, i[, j]])
文字列sのi番目からj番目までの文字コードの値を返します。省略時iは1、jはiと同じになります。Identical to mw.ustring.byte().
string.char(...)
引数の数値と等しい文字コードの文字を連結した文字列を返します
See mw.ustring.char() for a similar function that uses Unicode codepoints rather than byte values.
string.find(s, p[, init[, plain]])
文字列s内でのパターンpの最初のマッチの開始位置と終了位置を返します。
マッチしなかった場合はnilを返します。init には検索開始位置を指定します。
plain が true の場合パターンマッチングは行われず、単純な部分文字列検索になります。
パターン内にキャプチャが指定されていた場合、その内容が3番目以降の戻り値として返されます。
See mw.ustring.find() for a similar function extended as described in Ustring patterns and where the init offset is in characters rather than bytes.
string.format(fmt, ...)
任意のフォーマットで記述します。書式文字列は標準C関数のprintfと同じ。
q オプションは、Luaインタプリタで安全に読み戻せる適切な形式の文字列に書式化する。この時、文字列はダブルクォートの間に書かれ、文字列中のダブルクォート、改行、埋め込まれたゼロ、バックスラッシュは正しくエスケープされる。
c、d、E、e、f、g、G、i、o、u、X、x はすべて数値の引数を期待し、 q と s は文字列を期待する。
文字列と数値の間の変換はデータ型の指定に従って実行されます。他の型は自動的に文字列に変換されません。 NUL文字(バイト値0)を含む文字列は正しく処理されません。
Identical to mw.ustring.format().
string.gmatch(s, p)
汎用 for 文で使用します。文字列s内の正規表現pにマッチする部分文字列を返すイテレータ関数を返します。patternにキャプチャが指定されていない場合は、各呼び出しで完全一致が生成されます。
この関数では、パターンの先頭にある '^'は、繰り返しを妨げるので魔法のようなものではありません。それはリテラル文字として扱われます。
See mw.ustring.gmatch() for a similar function for which the pattern is extended as described in Ustring patterns.
string.gsub(s, p, repl[, n])
文字列s内のパターンpにマッチする部分をreplで置換します。
replには文字列、テーブル、関数のいずれかを指定します。nには置換が行われる回数を指定します。
返値は実際に置換が行われた回数が入ります。
replが文字列の場合は、その文字列が置換に使われます。文字%はエスケープ文字として働きます。repl中の%n(ただしnは1から9)はd番目のキャプチャした部分文字列の値(以下参照)を表します。%0はマッチ全体を表し、%%は単一の%を表します。replがテーブルの場合は、各マッチごとに最初のキャプチャをキーとしてテーブルを引きます。パターンにキャプチャがなければ、マッチ全体をキーとして使います。replが関数の場合は、その関数はマッチが現れるたびに呼ばれ、すべてのキャプチャされた部分文字列が順番通りに引数として渡されます。パターンにキャプチャがなければ、マッチ全体が単一の引数として渡されます。テーブル検索または関数呼び出しの戻り値が文字列または数値であれば、それが置換文字列として使われます。そうでなく、falseまたはnilであれば、置換されません(つまり、元のマッチがそのまま文字列中に保たれます)。See mw.ustring.gsub() for a similar function in which the pattern is extended as described in Ustring patterns.
string.len(s)string.len(str) 文字列の長さを取得します。#sでも代用できます
空文字列 "" の長さは0である。 文字列中のゼロも数えるので、"a\000b\000c" の長さは5である。
See mw.ustring.len() for a similar function using Unicode codepoints rather than bytes.
string.lower(s)
文字列s中のアルファベットを小文字にした文字列を返します
アルファベットと同じ値の2バイト文字も変換されるので注意
See mw.ustring.lower() for a similar function in which all characters with uppercase to lowercase definitions in Unicode are converted.
string.match(s, p[, init])
文字列s内のパターンpにマッチする部分文字列を返します。見つからなければnilを返します。
パターン内にキャプチャがあればそれを返します。init(省略時は1)は検索開始位置を指定します。
See mw.ustring.match() for a similar function in which the pattern is extended as described in Ustring patterns and the init offset is in characters rather than bytes.
string.rep(s, n)
文字列sをn回繰り返した文字列を返します。Identical to mw.ustring.rep().
string.reverse(s)
文字列sを逆にした文字列を返します
2バイト文字は正しく処理されません
string.sub(s, i[, j])
文字列sのi番目からj番目の文字までの部分文字列を返します。j省略時は文字列の末尾になります。
特に、string.sub(s,1,j)はsの先頭からj文字を取り出し、string.sub(s, -i)はsの最後のi文字を取り出す。
See mw.ustring.sub() for a similar function in which the offsets are characters rather than bytes.
string.upper(s)
文字列s中のアルファベットを大文字にした文字列を返します
アルファベットと同じ値の2バイト文字も変換されるので注意
See mw.ustring.upper() for a similar function in which all characters with uppercase to lowercase definitions in Unicode are converted.
Luaパターンは正規表現のようでそうでない。特に、正規表現やPCREとの以下の違いに注意するように:
パターンには途中にゼロ(ASCII NUL、"\0")を含むことができない。代わりに%zを使う。
Also see Ustring patterns for a similar pattern-matching scheme using Unicode characters.
文字クラス[]文字クラス は文字の集合を表すために使われます。 文字クラスの記述では以下の組み合わせが使用できます。
x | (xはメタ文字(^$()%.[]*+-?)以外) 文字xそれ自身を表す。 | |
. | (ドット) すべての文字を表す。 | |
%x | (xは英数文字以外) 文字x自身を表す、文字のエスケープ。すべての句読点(メタでない文字も)は'%'を前置してパターン中でそれ自身を表すことができます。 | |
集合 | 補集合 | 集合の内容 |
---|---|---|
%a | %A | すべてのletter |
%c | %C | すべての制御文字 |
%d | %D | すべての数字 |
%l | %L | すべての小文字 |
%p | %P | すべての区切り記号 |
%s | %S | すべての空白文字 |
%u | %U | すべての大文字 |
%w | %W | すべての英数文字 |
%x | %X | すべての十六進数字 |
%z | %Z | NULや0として表現される0バイト文字 |
[set] | [^set] | set内のすべての文字の和。最初の文字と最後の文字をマイナス(-)でつなぐことで文字の範囲を指定することもできます。set中の部品として上で説明した%xクラスもすべて使うことができますset中のそれ以外の文字はすべてそれ自身を表します。 例えば[%w_](または[_%w]) はすべての英数文字にアンダースコアを加えたものを表し、[0-7]は8進数字を表し、[0-7%l%-]は8進数字に小文字と'-'を加えたものを表します。 範囲を指定するときには、最初と最後の文字は同じ種類の文字(数字、英大文字、英小文字)でないといけません。 |
パターンの要素 は以下のいずれかである。
patternはパターン要素の列である。
パターンの最初に現れる'^'は対象文字列の先頭にマッチを固定する。パターンの最後に現れる'$'は対象文字列の最後にマッチを固定する。他の位置では、'^'や'$'は特別な意味を持たず、それ自身を表す。
キャプチャ[]パターンは、カッコで囲まれたサブパターンを含むことができ、これをキャプチャと呼びます。パターンが合致したときには、キャプチャに相当する部分文字列は保存され、後で使用することができるようになります。キャプチャの順序は開きカッコの出現順です。たとえば、パターン"(a*(.)%w(%s*)),"において、最初のキャプチャはa*(.)%w(%s*)に相当する部分文字列であり、2番目のキャプチャは.に、3番目のキャプチャは%s*に相当する部分文字列となります。
Luaパターンの特殊なケースとして、空っぽのキャプチャ()は、その場所の文字列の中での位置をキャプチャします。たとえば、パターン"()aa()"を文字列"flaaap"に適用した場合、3と5がキャプチャされます。この空っぽのキャプチャは正規表現では使えません。
テーブルライブラリのほとんどの関数はテーブルがシーケンスである事を前提としています。
table.foreach()、table.foreachi()とtable.getn()は使用非推奨のため記載していません。汎用for文とpairs()、汎用for文とipairs()、長さ演算子#で代用して下さい。
table.concat(t[, sep[, i[, j]]])
テーブルtのi番目からj番目までの要素の間に文字列sepを挟み、それら全てを連結した文字列を返します。
省略時、sepは空文字列、iは1、jはテーブルの長さになります。
table.insert(t,[ n,] v)
テーブルtの位置nにvを挿入します。nの位置にすでに要素がある時は、それ以降の要素を1つ後ろにずらします。n省略時はtの末尾に追加します。
#tまでの要素がシフトされます。テーブルがシーケンスでない場合の注意事項については、長さ演算子を参照してください。
table.maxn(t)テーブルtの正の最大の数値インデックスを返します。
※Lua 5.2で廃止これを行うには、テーブル全体を反復処理します。これはほぼ次のものと同等です。
table.remove(t[, n])
テーブルtの位置nの要素を削除して、それ以降の要素を1つ前にずらします。削除された要素を返します。n省略時はテーブルtの最後尾を削除する事になります。
#tまでの要素がシフトされます。テーブルがシーケンスでない場合の注意事項については、長さ演算子を参照してください。
table.sort(t[, f])
テーブルtの1から連続した正の整数のインデックスの要素を並び替えます。table.sortはtの先頭から要素2つを関数tに渡して呼び出し、関数fが偽の値を返したとき、2つの値の位置を入れ替えます。f省略時は<演算子で比較した結果によってソートします。
ソートのアルゴリズムは安定ではない。つまり、指定された順序において等しいと考えられる要素は、ソートによってその相対位置が変わるかもしれない。
Methods for collecting and flushing garbage[2] are unavailable in Scribunto[3].
シェアボタン: このページをSNSに投稿するのに便利です。
左メニューサンプル左メニューはヘッダーメニューの【編集】>【左メニューを編集する】をクリックすると編集できます。ご自由に編集してください。掲示板雑談・質問・相談掲示板更新履歴最近のコメントカウン...
ニュース...
Aviutl 音声先読み トリガー動作スクリプト anm 種類使用種別アニメーション効果動作種別基本機能の拡張、2D絵画、その他外部情報作者Ganeesya公開日2015/11/09『音声先読み トリ...
この記事は種族検索のためのページです。Tardis"元人間の物人の遺伝子は物人の世界から来た同族の遺伝子と全く同じだったの。" - Tardis下記は種族が同じキャラクターのページへのリンク一覧です。...
この記事は種族検索のためのページです。Tardis"元人間の物人の遺伝子は物人の世界から来た同族の遺伝子と全く同じだったの。" - Tardis下記は種族が同じキャラクターのページへのリンク一覧です。...
闇の中心EnglishCenter of Darkness 属性 DemonUnknown目次1 属性解説2 闇の中心の関係者2.1 幽閉されたナイトメア種2.2 幽閉された荒らし3 関連項目属性解説...
この記事は種族検索のためのページです。Tardis"元人間の物人の遺伝子は物人の世界から来た同族の遺伝子と全く同じだったの。" - Tardis下記は種族が同じキャラクターのページへのリンク一覧です。...
野生の毒沼EnglishVenomous wild swamp 属性 VenomFeral地理情報地名の由来属性からの連想属性解説[]Venom - A deadly essence that can...
部分フィルタ上フィルタオブジェクト部分フィルタとは、部分フィルタに追加されたフィルタ効果を画面の一部分のみに反映させるフィルタオブジェクトの1つである。※フィルタによっては正しく動作しません。目次1 ...
輪郭系エフェクト上フィルタオブジェクトこの記事では、「オブジェクトの輪郭」を変更する系のフィルタオブジェクトについて説明する。目次1 凸エッジ1.1 ◇幅1.2 ◇高さ1.3 ◇角度2 エッジ抽出2....
設定ダイアログ/トラックバー上設定ダイアログ目次1 移動の種類2 基本の移動方法2.1 直線移動2.2 曲線移動2.3 加減速移動2.4 瞬間移動2.5 中間点無視2.6 移動量指定2.7 ランダム移...
設定ダイアログ上拡張編集オブジェクトの追加やオブジェクト自体をダブルクリックすることで設定ダイアログが表示されます。表示中にダブルクリックで閉じることも出来ます。目次1 操作方法2 右クリックメニュー...
色関係エフェクト上フィルタオブジェクトこの記事では、色関係のフィルタオブジェクトについて説明する。目次1 色調補正1.1 ◇明るさ1.2 ◇コントラスト1.3 ◇色相1.4 ◇輝度1.5 ◇彩度1.6...
Aviutl 自演コメント風スクリプト anm 種類使用種別アニメーション効果動作種別文字列絵画外部情報作者gometh公開日2017/12/2自演コメントとは、gometh氏によるanm拡張子のAv...
Aviutl 直方体展開 anm 種類使用種別アニメーション効果動作種別3D絵画外部情報作者ティム公開日2011/5/27直方体展開とは、ティム氏によるanm拡張子のAviutlスクリプトの1つである...
この記事は種族検索のためのページです。Tardis"元人間の物人の遺伝子は物人の世界から来た同族の遺伝子と全く同じだったの。" - Tardis下記は種族が同じキャラクターのページへのリンク一覧です。...
液状荒野EnglishLiquid wilderness 属性 SiltPlague地理情報地名の由来属性からの連想属性解説[]Silt - Weaker version of Stone in so...
歪み系エフェクト上フィルタオブジェクトこの記事では、歪み関係のフィルタオブジェクトについて説明する。目次1 ミラー1.1 ◇透明度1.2 ◇減衰1.3 ◇境目調整1.4 ◇ミラーの方向1.5 ◇中心の...
Aviutl 極座標変換+ぼかしミラー anm 種類使用種別アニメーション効果動作種別基本機能の拡張、2D絵画、3D絵画外部情報作者ティム公開日2012/3/4極座標変換+ぼかしミラーとは、ティム氏に...
この記事は種族検索のためのページです。Tardis"元人間の物人の遺伝子は物人の世界から来た同族の遺伝子と全く同じだったの。" - Tardis下記は種族が同じキャラクターのページへのリンク一覧です。...