IPL と JavaScript との相違点

ポリシーの記述に IPL を使用する場合と JavaScript を使用する場合では、いくつかの相違点があります。以下の表を参照として利用してください。

表 1. IPL と JavaScript の相違点
IPL JavaScript 参照先
IPL は、大/小文字の区別がありません。 JavaScript では、大/小文字が区別されます。変数、ステートメント、オブジェクト、および関数の作成時には、このことに注意する必要があります。 RExtractAll
IPL では、配列の作成時に、中括弧 ({}) を使用して配列値を割り当てる必要があります。 JavaScript では、大括弧 ([]) を使用して配列値を割り当てる必要があります。
IPL では、エスケープ文字に ¥¥ または ¥ を使用できます。 JavaScript では、エスケープ文字に ¥¥ を使用する必要があります。 RExtractAll
IPL では、整数は整数 (1 など) として返されます。 JavaScript では、整数の結果は Float として返されます。数値は常に小数の形で表示されます (例えば 11.0 と表示されます)。
ClassOf
  • IPL では、ClassOf に整変数を渡すと、long が返されます。
  • IPL では、 ClassOf にコンテキスト変数を渡すと、

    BindingsVarGetSettable として返されます。

  • IPL では、ClassOfOrgNode 変数を渡すと、OrgNode として返されます。
  • JavaScript では、ClassOf に整変数を渡すと、double が返されます。
  • JavaScript では、 ClassOf にコンテキスト変数を渡すと、
    JavaScriptScriptableWrapper として返されます。
  • JavaScript では、 ClassOfOrgNode 変数を渡すと、
    VarGetSettable として返されます。
ClassOf
Event Container

IPL を使用している場合は、オプションでドット表記または @ 表記を使用してイベント・フィールド変数を参照できます。@ 表記は、フルネーム @Identifier をすべて記述しなくても、EventContainer のメンバーを参照するために使用できる特殊な短縮名です。

JavaScript を使用している場合は、ドット表記 EventContainer.Identifier を使用する必要があります。

EventContainer

Exit

IPL では、ユーザー定義関数内で Exit を使用すると、その関数は終了しますが、ポリシーは続行します。

JavaScript では、ポリシー内のユーザー定義関数で Exit を使用すると、ポリシー全体が終了します。 JavaScript ポリシー内で関数を停止する場合は、ポリシー内で return コマンドを使用する必要があります。 Exit.
Float

IPL では、float 関数は整数、ストリング、またはブール式を浮動小数点数に変換します。

JavaScript は、Float 関数で使用される整数およびブール式での結果に小数点を追加することはありません。 Float.
Float

IPL では、Float 関数は 10.695672 を返します。

JavaScript では、Float 関数によって、より精度の高い数値が返されます。例えば、関数 Eval では、10.695672 の代わりに 10.695671999999998 が返されます。 Eval.
Eval

IPL では、整数の除算 10/5 を実行すると、2.0 が返されます。

JavaScript では、関数 Eval で整数の除算 10/5 を実行すると、2 が返されます。 Eval
JavaCall

IPL では、数値は整数です。

JavaScript では、数値に double を使用します。JavaScript で、整数引数を指定する必要のある JavaCall を使用する場合は、Integer.parseInt JavaCall を使用して実際の整数を作成する必要があります。 JavaCall
Like
IPL では Like 演算子をサポートしています。例えば、以下のようになります。
teststring LIKE ".*abc.*";
JavaScript では Like 演算子を使用しません。
同等の処理を行う例は、以下のようになります。
/.*abc.*/.test(teststring);
比較演算子

オペレーター・ビューでスマート・タグがサポートされます。

オペレーター・ビューでスマート・タグがサポートされません。

スマート・タグの概要