Luaスクリプトの概要
Luaとは、スクリプト言語の一種です。Luaを使用すると、業務固有の特殊処理をスクリプトで記述できます。OSが変わっても再コンパイルなどの移行作業は不要です。さらに、汎用的なスクリプト言語に比べて高速に動作する利点があります。
Luaスクリプトで作成した処理を共通コンポーネント情報として作成しておくと、業務が変更になっても、Luaスクリプトを修正すれば、共通コンポーネントを使用しているすべてのデータ加工処理を修正できます。
Luaの言語仕様については、Luaのドキュメントを参照してください。
(1) DataMagicで対応するLuaの言語仕様
DataMagicで使用できるLuaの言語仕様を次に示します。これ以外の言語仕様は対応していません。
機能 |
内容 |
---|---|
ステートメント |
Luaの文法はすべて対応 |
基本関数 |
tonumber, tostringなど |
string関数 |
文字列操作 |
Math関数 |
Math関数 |
LuaスクリプトをDataMagicで使用する場合、関数は次のように使用してください。
-
呼び出した関数内のステートメントのみを記述し、結果を返却(return value)してください。
(2) Luaでの文字コードの仕様
Luaスクリプト内では、文字コードはUTF-8として扱われます。
Luaスクリプトの実行で、入力される引数の文字コード変換仕様を次に示します。
引数 |
文字コードの変換 |
内容 |
|
---|---|---|---|
av0(実際に処理するデータ) |
Iタイプ |
変換しない |
チェックサムやバイナリデータなど、そのままのデータとして処理します。 |
Iタイプ以外 |
入力文字コード→UTF-8 |
Lua 内でそのまま文字列として扱います。 |
|
av1-5(引数1-5) |
固定値などをLua内でそのまま文字列として扱います。 |
Luaスクリプトの実行で、返却される引数の文字コード変換仕様を次に示します。
引数 |
文字コードの変換 |
内容 |
---|---|---|
av0(実際に処理するデータ) |
UTF-8→入力文字コード |
Lua内で作成したUTF-8の文字列を、入力の文字列として扱います。 |
av1-5(引数1-5) |
-
次に示す2つの条件を満たす場合は、文字コードは変換されません。
-
出力タイプがI(イメージタイプ(無変換))
-
使用するLuaがその共通コンポーネントで最後に実行される
Lua内でバイナリ処理をし、そのままバイナリとして結果を返却したい場合は、Luaを最後の項目とし、Iタイプ(イメージタイプ(無変換))で出力してください。
-
-
Luaスクリプトの実行で入力または返却される引数の文字コード変換では、外字は変換されません。