公開日: 11/25/2021

特定の要素のタイプ

他の問い合わせ関数(Is Matrix()Is List()Is Scriptable()など)を使うと、特定のタイプのオブジェクトをテストできます。次の例は、Is Matrix()が真の場合に特定の計算を実行します。

a = [2 3];
b = [1, 1];
c = a * b;
If( Is Matrix( c ),
	(c ^ a) / (a * b),
	Print( "c is not a matrix." )
);

[5 25]

Is Scriptable()は、オブジェクトがスクリプト可能なものの場合に1を戻します。次の例の4つの変数は、データテーブル、列、プラットフォーム、レポートを参照します。どのオブジェクトもスクリプト可能なので、Is Scriptable()はすべての例で1を戻します。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
col = Column( "体重(ポンド)" );
plat = Bivariate( Y( :"体重(ポンド)"n ), X( :"身長(インチ)"n ) );
rep = Report( plat );
Show( Is Scriptable( dt ) );

Is Scriptable(dt) = 1;

Show( Is Scriptable( col ) );

Is Scriptable(col) = 1;

Show( Is Scriptable( plat ) );

Is Scriptable(plat) = 1;

Show( Is Scriptable( rep ) );

Is Scriptable(rep) = 1;

Is Empty()は、変数に値、関数、式、またはオブジェクトへの参照があるかどうかを調べます。変数が定義されていなかったり、Empty()値を持っている場合は1を返します。それ以外の関数では、まだ値が作られていない、あるいは割り当てられていない変数を指定するとエラーが戻されます。プログラマはこういった変数を「初期化されていない変数」と呼んでいます。

次の例は、データテーブルが開いているかどうか、つまりdt変数に割り当てられているかどうかを調べる例です。データテーブルが開いていない場合は、Open()関数がユーザにテーブルを開くよう促します。

If( Is Empty( dt = Current Data Table() ),
	dt = Open()
);

Is Empty()関数はどの変数(グローバル変数、ローカル変数、列など)にも使用できます。

表5.6に、オブジェクトのタイプを識別する関数をまとめます。

表5.6 オブジェクトのタイプを識別する問い合わせ関数

構文

説明

Is Associative Array(x)

引数が連想配列のときは1、そうでなければ0を戻す。

Is Directory(x)

引数xがディレクトリのときは1、そうでなければ0を戻す。

Is Empty(global)

Is Empty(dt)

Is Empty(col)

グローバル変数、データテーブル、またはデータ列に値がない(初期化されていない)ときは1、あれば0を戻す。

Is Expr(x)

引数が式のときは1、そうでなければ0を戻す。

Is File(x)

引数xがファイルのときは1、そうでなければ0を戻す。

Is List(x)

引数がリストのときは1、そうでなければ0を戻す。

Is Matrix(x)

引数が行列のときは1、そうでなければ0を戻す。

Is Name(x)

引数が名前のときは1、そうでなければ0を戻す。結果ではなく保存された式を読み込むを参照してください。

Is Namespace(x)

引数が名前空間のときは1、そうでなければ0を戻す。

Is Number(x)

引数が数値か欠測値のときは1、そうでなければ0を戻す。

Is Scriptable(x)

引数がスクリプト可能なオブジェクトのときは1、そうでなければ0を戻す。

Is String(x)

引数が文字列のときは1、そうでなければ0を戻す。

Type(x)

引数(x)のタイプを示す文字列を戻す。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).