コンテンツにスキップ

ISEVALUABLE

Category: メタ操作・特殊関数

書式

ISEVALUABLE( string )

引数

Parameter Description
string YAYAスクリプトとして実行する文字列

戻り値

  • 1: 文字列をEVALで評価・実行できる(構文的に正しい)
  • 0: 文字列を評価できない(検証失敗)

解説

指定した文字列をYAYAスクリプトとしてEVAL関数で実行できるかどうかを検証する関数。

EVALで任意の文字列を実行する前にこの関数で事前検証することで、不正なコード文字列による実行時エラーを防ぐことができる。

文の並び(; や改行で区切った複数の文や、if/for などの制御文)も、EVALと同じ規則で判定して検証する(Tc574-6 / Tc602-9以降)。

ISEVALUABLE('1 + 2')                  // 1
ISEVALUABLE('_a = 1; if _a { 2 }')    // 1
ISEVALUABLE('_a = 1; if { 2')         // 0

互換性

  • YAYA: Tc562-1以降
  • Tc574-6 / Tc602-9: EVALが文の並びを実行できるようになったのに合わせて、文の並びも検証できるようにした

関連項目