組み込み関数

Luaには始めから使用可能なライブラリ関数が用意されています。またcharatbeatHDXではスキンなどに使用するための拡張関数が用意されていますが、ここではそれらの関数について説明しています。
Lua組み込み関数
Luaには組み込み関数が存在します。これを利用することで特殊な処理を行うことも出来ますが、charatbeatHDXでは実装の関係上正しく動作しないことがあります。

現時点で問題の無い関数は以下のとおりです。
数学関数 math.abs(val) valの絶対値を返す
math.sin(rad) radのサインを計算
math.cos(rad) radのコサインを計算
math.tan(rad) radのタンジェントを計算
math.asin(x) xのアークサインを計算
math.acos(x) xのアークコサインを計算
math.atan2(y,x) y/x のアークタンジェントを計算
math.floor(val) valの小数点以下を切り捨てた値を返す
math.pow(x,y) xのy乗を計算
math.randomseed(seed) 乱数をseedの値で初期化する
※通常は時間などを入れる
math.random(max) ランダム値を返す
※引数無しなら0~1の小数値、max指定なら1~maxの整数値となる
math.sqrt(val) valの平方根を返す
charatbeatHDX拡張組み込み関数
charatbeatHDXにはさらに以下の拡張関数が実装されています。文字列系の関数は全てUTF8に対応しておりますが、charatbeatHDXのLua処理はUNICODEとUTF8で処理されているため、文字列を扱う処理は必ずこの拡張関数を使用する必要があります。これらの拡張関数は文字単位として英語、日本語関係なく全て1文字が1単位となります。
※Lua組み込み関数のstringライブラリは1byte単位で処理されるため、日本語については正しい文字数を計算出来ません

trace(str) DEBUG.TXTに指定した文字列を出力します。デバッグ用に使用してください。
 str : 文字列(最後の改行は無視される)
 戻り値 : 無し
strlen(str) 指定した文字列の文字数を返す。
 str : 文字列
 戻り値 : 計算した文字数
substr(str,start,len) 指定の位置から文字列を指定分抜き出す。
 str : 切り出す元の文字列
 start : 切り出す文字の位置(0インデックス/マイナスの場合は後方から)
 len : 切り出す文字数
 戻り値 : 切り出した文字列
strcmp(str1,str2) 文字列を比較する。
 str1 : 比較元文字列
 str2 : 比較先文字列
 戻り値 : str1がstr2より小さい場合は-1以下、str1とstr2が一致する場合は0、str1がstr2より大きい場合は1以上
strncmp(str1,str2) 文字数を指定して文字列を比較する。
 str1 : 比較元文字列
 str2 : 比較先文字列
 len : 比較する文字数
 戻り値 : str1がstr2より小さい場合は-1以下、str1とstr2が一致する場合は0、str1がstr2より大きい場合は1以上
stricmp(str1,str2) 大文字小文字を区別せずに文字列を比較する。
 str1 : 比較元文字列
 str2 : 比較先文字列
 戻り値 : str1がstr2より小さい場合は-1以下、str1とstr2が一致する場合は0、str1がstr2より大きい場合は1以上
strnicmp(str1,str2,len) 大文字小文字を区別せず、さらに文字数を指定して文字列を比較する。
 str1 : 比較元文字列
 str2 : 比較先文字列
 len : 比較する文字数
 戻り値 : str1がstr2より小さい場合は-1以下、str1とstr2が一致する場合は0、str1がstr2より大きい場合は1以上
trim(str) 先頭と末尾にあるスペースやタブなどを削除した文字列を返す。
 str : スペースやタブを削除する文字列
 戻り値 : スペースやタブを削除した文字列
strfmti(fmt,val) 整数値をCの書式付き文字列として返す。
 fmt : Cのフォーマット文字列("%d"や"%0d"、"ABC%d"のように文字付きも可能)
 val : 変換する整数値(不正な文字列などを与えた場合は0になる)
 戻り値 : 作成された文字列
※変換できるのは1つ分の値のみで、"%"書式を2つ以上指定した場合はクラッシュする
※例外として"%"を表示したい場合は"%%"と2つ重ねる
strfmtd(fmt,val) 小数値をCの書式付き文字列として返す。
 fmt : Cのフォーマット文字列("%f"や"%5.2f"、"ABC%f"のように文字付きも可能)
 val : 変換する小数値(不正な文字列などを与えた場合は0になる)
 戻り値 : 作成された文字列
※変換できるのは1つ分の値のみで、"%"書式を2つ以上指定した場合はクラッシュする
※例外として"%"を表示したい場合は"%%"と2つ重ねる
include(file) 外部のluaファイルをロードして、その中のグローバル変数や関数を使用可能にする。
なお、外部Luaファイルは必ずscript.luaと同じパスに存在している必要があります。
 file : luaファイル名
※処理的には外部luaファイルをロードしたあと、ルートを実行することでscript.luaと同じ空間に変数や関数を取り入れます