| 4D v18C_VARIANT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 C_VARIANT 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| C_VARIANT ( {method ;} variable {; variable2 ; ... ; variableN} ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| method | メソッド |   | メソッド名(オプション) | |||||
| variable | 変数 |   | 宣言する変数の名前 | |||||
C_VARIANT は指定された変数をバリアント型変数としてキャストします。バリアント型変数には、以下の4D データ型のどれでも格納することができます: BLOB、ブール、コレクション、日付、倍長整数、オブジェクト、ピクチャー、ポインター、テキスト、時間、Null、Undefined
このコマンドの、任意のmethod 引数を渡さない第1形式は、任意のローカル、プロセス、インタープロセス変数を宣言するために使用されます。
注: この形式はインタープリタモード、コンパイルモード、どちらのモードのデータベースにおいても使用することができます。
このコマンドの、任意のmethod 引数を渡す第2形式は、メソッドにおいて結果または引数($0、$1、$2など)をコンパイラに事前に宣言するために使用されます。コマンドのこの形式を使用することでデータベースのコンパイル時に変数のコンパイルフェースをスキップすることができ、結果的にコンパイル時間を短縮することができます。
警告: 型固定の変数に比べてバリアント型の変数を使用した場合、パフォーマンスが落ちる可能性があります。
C_VARIANT(${...}) のシンタックスを使用すると、同じ型の不定数の引数を宣言することができます。ただしこれらの引数はメソッドの最後の引数でなければなりません。例えば、C_VARIANT(${5}) という宣言は、4D とコンパイラに対して、5番目の引数以降、メソッドはその型の引数を不定数受け付けることができることを伝えます。詳細な情報については、引数の間接参照 の章を参照してください。
バリアント型の変数を検証して型指定したい場合を考えます:
 C_VARIANT($var)
 C_LONGINT($vt)
 $var:="test"
 $vt:=Type($var) //$vt="Is variant"
 $vt:=Value type($var) //$vt="Is text"
	プロダクト: 4D
	テーマ: コンパイラ
	番号: 
        1683
        
        
        
	

	初出: 4D v18
	ランゲージリファレンス ( 4D v18)
	
	
	
 コメントを追加
コメントを追加