Variant

説明

数値、文字列ツリーノード、または配列のいずれかを保持できるタイプです。

Variantクラスは、データをFlexSimの様々な機能の間で交換する際に不可欠なタイプです。そのため、バリアントは複数の異なるタイプのデータを保持できる「何でも屋」としての意味を持ち、数値を保持するnumberタイプ、テキストデータを保持するstringタイプ、FlexSimのツリーにあるノードへの参照を保持するtreenodeタイプ、バリアントの配列を保持するArrayタイプ、一連のキーおよびそのキーに関連付けられた値を保持するMapタイプ、そして、他のどのタイプにも属さないnullバリアントといった様々なタイプを表すことができます。

メソッド/プロパティ転送

バリアントは他のデータタイプに柔軟に対応できるコンテナ以上のものではないため、そのメソッドおよびプロパティもまた、バリアントが保持するタイプの様々なメソッドやプロパティに転送する役割しかありません。たとえば、ツリーノードを保持するバリアントがある場合、ツリーノードのメソッドおよびプロパティを直接バリアントに使用できます。as()キーワードでツリーノードにキャストする必要はありません。

Variant node = param(1);
node.name = "Object1";
node.value = 5;

バリアントの唯一の専用プロパティとしてtypeがあります。これはバリアントが保持しているデータのタイプを通知するものです。その他のプロパティおよびメソッドはすべて、保持されたクラスに関連するメソッドまたはプロパティに転送を行うだけです。関連付けられたタイプをバリアントが保持していない場合、タイプのメソッドを呼び出すと例外が発生します。たとえば、バリアントが数値を持っておりfind()メソッドを呼び出した場合、FlexScriptは例外をスローします。

キャスト

バリアントは例外をスローすることなく、ターゲットタイプのいずれかに対してキャストを行います。バリアントがターゲットタイプを保持していない場合、単にnullまたはそれに近い結果、つまりNULLツリーノード、空の文字列、空の配列、または数値0.0を生成します。

Variant num = 1;
string asString = num; // empty string
Variant str = "Hello";
double asNum = str; // 0.0

バリアントに保持されるデータのタイプを判断するには、typeプロパティ、またはis()キーワードを使用します。

オブジェクトとしてのバリアント

バリアントがオブジェクトデータを含むツリーノードを保持する場合、Objectプロパティおよびメソッドを利用できます。なお、typeプロパティは単純なtreenodeタイプです。バリアントがオブジェクトノードを保持しているかテストする場合、次のように()キーワードを使用します。

Variant obj = param(1);
if (obj.is(Object)) {
	obj.location = Vec3(1, 2, 3);
}
配列としてのバリアント

バリアントは配列に関連付けられた特殊なロジックを実行します。このロジックでは、バリアントが配列データを保持していない場合であっても、バリアントを配列のように処理することができます。たとえば、バリアントが文字列を保持する場合、その最初の要素として文字列を含む長さ1の配列であるかのようにバリアントを処理することができます。

Variant val = "Hello";
int len = val.length; // len = 1
return val[len]; // returns "Hello";

また、バリアントを非配列タイプにキャストした上でバリアントが実際に配列だった場合、キャスト操作によって配列の最初の要素が返されます。そのため、配列バリアントであっても非配列タイプとして処理することができます。

Variant myArray = ["Hello", "World"];
string myString = myArray;
return myString; // returns "Hello"

これらの機能は処理フローで特に効果を発揮します。処理フローで取り扱うことの多いラベル値は配列データを格納している場合と格納していない場合がありますが、それらのデータに対して安定したインターフェイスが必要です。

マップとしてのバリアント

バリアントをマップとして使用する場合、バリアントの動的プロパティを使用します。

// adds the key "Key1" with the value 3 to the map
mapVariant.Key1 = 3 

マップのその他のメソッドまたはプロパティは、バリアントからは利用できません。それらを使用する場合、バリアントをマップとしてキャストする必要があります。

Map map = mapVariant;
// now you can access map methods and properties
Array keys = map.keys;

null値

バリアントがnullか確認するには、値を特殊キーワードnullvarと比較するか、値のタイプをVAR_TYPE_NULLマクロと比較します。

Variant val;
val == nullvar //true
val.type == VAR_TYPE_NULL // true

他のプロパティによって返されたtreenodeタイプバリアントを取り扱う場合には、上記の確認はより複雑になります。treenode null値に関する説明を参照してください。

他のデータタイプにはnullタイプがありませんが、このタイプに相当する空のタイプがあります。

string emptyString = "";
int emptyInt = 0;
double emptyDouble = 0.0;
Array emptyArray = [];
待機可能

バリアントは待機可能です。つまり、awaitステートメントの述語になることができます。これにより、一時停止されているコルーチンノードをバリアントが参照する場合のみ、コルーチンが一時停止されます。コルーチンノードへの参照を取得するには、awaitステートメントを含むノードに対してtreenode.coevaluate()を呼び出します。他のタイプのバリアント値を待機しても、何も行われません。

プロパティ

animations オブジェクトバリアントのanimationsプロパティを返します。
attrs オブジェクトバリアントのattrsプロパティを返します。
centerObjects オブジェクトバリアントのcenterObjectsプロパティを返します。
color オブジェクトバリアントのcolorプロパティを返します。
dataType ツリーノードバリアントのdataTypeプロパティを取得または設定します。
first ツリーノードバリアントの最初のサブノードを取得します。
flags オブジェクトバリアントのflagsプロパティを返します。
inObjects オブジェクトバリアントのinObjectsプロパティを返します。
input オブジェクトバリアントのinputプロパティを返します。
labels ツリーノードバリアントのラベル、またはマップバリアントの文字列キーにアクセスします。
last ツリーノードバリアントの最後のサブノードを取得します。
length 配列長さのバリアントを取得または設定します。
location オブジェクトバリアントのlocationプロパティを返します。
name ツリーノードバリアントの名前を取得または設定します。
next ツリーノードバリアントの次のノードを取得します。
outObjects オブジェクトバリアントのoutObjectsプロパティを返します。
output オブジェクトバリアントのoutputプロパティを返します。
prev ツリーノードバリアントの次のノードを取得します。
rank ツリーノードバリアントのランクを取得または設定します。
resetPosition オブジェクトバリアントのresetPositionプロパティを返します。
rotation オブジェクトバリアントのrotationプロパティを返します。
size オブジェクトバリアントのsizeプロパティを返します。
stats オブジェクトバリアントのstatsプロパティを返します。
subnodes ツリーノードバリアントのサブノードにアクセスします。
type 次のバリアントタイプのいずれか1つを取得します:VAR_TYPE_NUMBER、VAR_TYPE_STRING、VAR_TYPE_NODE、またはVAR_TYPE_ARRAY
up ツリーノードバリアントの親を取得または設定します。
value ツリーノードバリアントのデータ値を取得または設定します。

メソッド

append このバリアントに他のバリアントを追加します。
byteToCharIndex 文字列バリアントに含まれる指定バイトのインデックスを返します。
charAt 文字列バリアントに含まれる指定バイトインデックスの文字を返します。
charToByteIndex 文字列バリアントに含まれる特定の文字インデックスと関連付けられたバイトインデックスを返します。
clone バリアントのクローンを作成します。
concat 2つのバリアントを配列に連結します。
copy ツリーノードバリアントの新しいコピーを作成します。
destroy ツリーノードバリアントを破棄します。
endsWith 文字列バリアントが定義された文字列で終了するのか照会します。
evaluate ツリーノードバリアントを評価します。
fill 配列バリアントに定義された値を入力します。
find パスによって、ツリーノードバリアントのサブツリーのノードを検索します。
getLocation オブジェクトバリアントの位置を取得します。
getPath ツリーノードバリアントのパスを取得します。
getVariable オブジェクトバリアントの変数の値を取得します。
includes 文字列バリアントが文字列を含むか照会します。
indexOf 配列バリアントの要素インデックスを取得します。
join 配列バリアントを文字列に結合します。
match 文字列バリアント上の正規表現を整合します。
message オブジェクトバリアントへメッセージを送ります。
padEnd 文字列バリアントの末尾をpadStringで指定長さまでパディングします。
padStart 文字列バリアントの始まりをpadStringで指定長さまでパディングします。
pop 配列バリアントからの要素をポップします。
push 値を配列バリアントにプッシュします。
repeat 文字列バリアントを何度か繰り返します。
replace 文字列バリアントのテキストを置換します。
resume オブジェクトバリアントをstop()実行前の状態に戻します。
reverse 配列バリアントを反転させます。
search 文字列バリアントで内部文字列またはパターンを検索します。
setLocation
setRotation オブジェクトバリアントの回転を設定します。
setSize オブジェクトバリアントのサイズを設定します。
setState オブジェクトバリアントの状態を設定します。
setVariable オブジェクトバリアントの変数の値を設定します。
shift 配列バリアントの先頭からの要素をシフト(ポップ)します。
slice 配列バリアントのサブセクションから作成された新しい配列を返します。
sort 配列バリアントを並べ替えます。
splice 配列バリアントから要素を削除するもしくは配列バリアントに挿入します。
split 文字列バリアントを配列に分割します。
startsWith 文字列バリアントが定義した文字列で開始するのか照会します。
stop オブジェクトバリアントを停止してその状態を設定してから、resume()を待ちます。
substr 文字列バリアントのセクションを抽出して新しい文字列を返します。
toLowerCase 文字列バリアントから小文字の文字列を作成します。
toNum 文字列バリアントの内容を浮動小数点数として解釈します。
toUpperCase 文字列バリアントから大文字の文字列を作成。
trim 文字列バリアント末尾の余白をトリムします。
unshift 値を配列バリアントの先頭にアンシフト(プッシュ)します。

演算子

- 2つの数値を減算します。
-- 数値バリアントを減少させます。
! バリアントがnullバリアント、NULLツリーノード、もしくは数値0.0であるかをテストします。
!= バリアントが他の値と異なっているかテストします。
% 2つの数値における係数を返します。
* 2つの数値を乗算します。
/ 2つの数値を除算します。
[] 配列バリアントの要素にアクセスします。
+ 2つの数値を加算します。
++ 数値バリアントを増加させます。
+= 数値バリアントを定義した値で増加させるか、文字列を現在の文字列バリアントに追加します。
< バリアントが数値未満かテストします。
<= バリアントが数値未満または等しいかテストします。
-= 数値バリアントを定義した値で減少させます。
== 2つの値がお互いに等しいかテストします。
> バリアントが数値より大きいかテストします。
>= バリアントが数値より大きいまたは等しいかテストします。

詳細

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.animations

readonly animations

説明

オブジェクトバリアントのanimationsプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.attrs

readonly attrs

説明

オブジェクトバリアントのattrsプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.centerObjects

readonly centerObjects

説明

オブジェクトバリアントのcenterObjectsプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.color

readonly Color color

説明

オブジェクトバリアントのcolorプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.dataType

int dataType

説明

ツリーノードバリアントのdataTypeプロパティを取得または設定します。

バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.first

treenode first

説明

ツリーノードバリアントの最初のサブノードを取得します。

treenode.firstに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.flags

readonly flags

説明

オブジェクトバリアントのflagsプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.inObjects

readonly inObjects

説明

オブジェクトバリアントのinObjectsプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.input

readonly input

説明

オブジェクトバリアントのinputプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.labels

readonly labels

説明

ツリーノードバリアントのラベル、またはマップバリアントの文字列キーにアクセスします。

treenode.labels、またはMap.stringKeysに転送されます。バリアントがtreenodeもしくはMapタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.last

treenode last

説明

ツリーノードバリアントの最後のサブノードを取得します。

treenode.lastに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.length

int length

説明

配列長さのバリアントを取得または設定します。

バリアントがすでにArrayタイプである場合は、Array.lengthに転送されます。バリアントがnullバリアントの場合、lengthは0を返します。number、string、またはtreenodeタイプの場合、lengthは1を返します。

Variant myVar; // initialized as null Variant
myVar.length; // returns 0
myVar = 5; // set to number type
myVar.length; // returns 1

lengthを設定した場合、バリアントは自分自身を配列に変換してArray.lengthに転送します。

Variant myArray = "Hello";
myArray.length = 2; // converts to Array and sets Array length to 2.
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.location

readonly Vec3 location

説明

オブジェクトバリアントのlocationプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.name

string name

説明

ツリーノードバリアントの名前を取得または設定します。

treenode.nameに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.next

readonly treenode next

説明

ツリーノードバリアントの次のノードを取得します。

treenode.nextに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.outObjects

readonly outObjects

説明

オブジェクトバリアントのoutObjectsプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.output

readonly output

説明

オブジェクトバリアントのoutputプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.prev

readonly treenode prev

説明

ツリーノードバリアントの次のノードを取得します。

treenode.prevに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.rank

int rank

説明

ツリーノードバリアントのランクを取得または設定します。

treenode.rankに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.resetPosition

readonly resetPosition

説明

オブジェクトバリアントのresetPositionプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.rotation

readonly Vec3 rotation

説明

オブジェクトバリアントのrotationプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.size

readonly Vec3 size

説明

オブジェクトバリアントのsizeプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.stats

readonly stats

説明

オブジェクトバリアントのstatsプロパティを返します。

このプロパティは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.subnodes

readonly subnodes

説明

ツリーノードバリアントのサブノードにアクセスします。

treenode.subnodesに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.type

readonly int type

説明

次のバリアントタイプのいずれか1つを取得します:VAR_TYPE_NUMBER、VAR_TYPE_STRING、VAR_TYPE_NODE、またはVAR_TYPE_ARRAY

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.up

treenode up

説明

ツリーノードバリアントの親を取得または設定します。

treenode.upに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.value

Variant value

説明

ツリーノードバリアントのデータ値を取得または設定します。

treenode.valueに転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.append()

Variant append( Variant val )

パラメータ

val このバリアントに追加する値。

戻り値

Variant 変更されたバリアント

説明

このバリアントに他のバリアントを追加します。

このバリアントがすでに配列である場合は、Array.appendに転送されます。バリアントがnullバリアントの場合、valになります。非配列タイプの場合、バリアントは自分自身を配列に変換してArray.append()に転送します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.byteToCharIndex()

int byteToCharIndex( int byteIndex )

パラメータ

byteIndex ターゲット文字の1ベースのバイトインデックス。

戻り値

int 文字の1ベースの文字インデックス。

説明

文字列バリアントに含まれる指定バイトのインデックスを返します。

string.byteToCharIndexに転送されます。バリアントがstringタイプでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.charAt()

string charAt( int byteIndex )

パラメータ

byteIndex ターゲット文字の1ベースのバイトインデックス。

戻り値

string ターゲット文字(文字列)。

説明

文字列バリアントに含まれる指定バイトインデックスの文字を返します。

string.charAtに転送されます。バリアントがstringタイプでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.charToByteIndex()

int charToByteIndex( int charIndex )

パラメータ

charIndex ターゲット文字の1ベースの文字インデックス。

戻り値

int 文字の1ベースのバイトインデックス。

説明

文字列バリアントに含まれる特定の文字インデックスと関連付けられたバイトインデックスを返します。

string.charToByteIndexに転送されます。バリアントがstringタイプでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.clone()

Variant clone( )

戻り値

Variant バリアントのクローン。

説明

バリアントのクローンを作成します。

バリアントがすでにArrayタイプである場合は、Array.clone()に転送されます。それ以外の場合は、単に値のコピーを返します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.concat()

Array concat( Array other )

パラメータ

other このバリアントの末尾に連結する配列。

戻り値

Array 結果として得られる配列。

説明

2つのバリアントを配列に連結します。

Array.concat()に転送されます。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.copy()

treenode copy( treenode destination = 0 , int replace = 0 )

説明

ツリーノードバリアントの新しいコピーを作成します。

treenode.copy()に転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.destroy()

destroy( )

説明

ツリーノードバリアントを破棄します。

treenode.destroy()に転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.endsWith()

int endsWith( string str )

説明

文字列バリアントが定義された文字列で終了するのか照会します。

string.endsWith()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.evaluate()

Variant evaluate( )
Variant evaluate( Variant p1 ... p20 )

パラメータ

p1-p20 評価に渡されるパラメータ。

説明

ツリーノードバリアントを評価します。

treenode.evaluate()に転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.fill()

Variant fill( Variant value )

説明

配列バリアントに定義された値を入力します。

Array.fill()に転送されます。バリアントがまだ配列でない場合、単純に値を渡された値に設定します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.find()

treenode find( string path )

説明

パスによって、ツリーノードバリアントのサブツリーのノードを検索します。

treenode.find()に転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.getLocation()

Vec3 getLocation( double xFactor , double yFactor , double zFactor )
Vec3 getLocation( Vec3 factors )

パラメータ

xFactor オブジェクト上で、位置が測定されるポイントのx値。オブジェクトのサイズに対する割合(0~1)として測定されます。
yFactor オブジェクト上で、位置が測定されるポイントのy値。オブジェクトのサイズに対する割合(0~1)として測定されます。
zFactor オブジェクト上で、位置が測定されるポイントのz値。オブジェクトのサイズに対する割合(0~1)として測定されます。
factors オブジェクト上で、位置が測定されるポイントを表すベクトル。オブジェクトのサイズに対する割合(0~1)として測定されます。

戻り値

Vec3 オブジェクトの位置を保持するベクトル。

説明

オブジェクトバリアントの位置を取得します。

Object.getLocationに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.getPath()

string getPath( treenode relativeTo = 0 , int byName = 1 )

説明

ツリーノードバリアントのパスを取得します。

treenode.getPath()に転送されます。バリアントがtreenodeタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.getVariable()

Variant getVariable( string variableName )

パラメータ

variableName 変数名

戻り値

Variant 指定された変数の値。

説明

オブジェクトバリアントの変数の値を取得します。

Object.getVariableに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.includes()

int includes( string str )

説明

文字列バリアントが文字列を含むか照会します。

string.includes()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.indexOf()

int indexOf( Variant )

説明

配列バリアントの要素インデックスを取得します。

Array.indexOf()に転送されます。バリアントが配列でない場合、長さ1の配列として処理されます。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.join()

string join( string separator = 0 )

説明

配列バリアントを文字列に結合します。

Array.join()に転送されます。バリアントがまだ配列でない場合、バリアントは自分自身から新しい配列を作成してその配列への結合を呼び出します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.match()

説明

文字列バリアント上の正規表現を整合します。

string.match()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.message()

Variant message( double delayTime = 0 , treenode fromObj = 0 , Variant p1 = nullvar , Variant p2 = nullvar , Variant p3 = nullvar )

パラメータ

delayTime オプション。メッセージ実行までの遅延時間を指定します。-1の場合、メッセージは同時に送られます。0以上の場合、定義した遅延時間のイベントが作成されて、その遅延時間後にメッセージが実行されます。
fromObj オプション。メッセージを送っているオブジェクト。メッセージトリガーからアクセスできます。
p1 オプション。メッセージの最初のパラメータを定義します。メッセージトリガーからmsgparam1としてアクセスできます。
p2 オプション。メッセージの2番目のパラメータを定義します。メッセージトリガーからmsgparam2としてアクセスできます。
p3 オプション。メッセージの3番目のパラメータを定義します。メッセージトリガーからmsgparam3としてアクセスできます。

戻り値

Variant メッセージが同時に送られた場合(delay = -1)、オブジェクトのメッセージトリガーによる戻り値を返します。メッセージが非同時で送られた場合(delay >= 0)、呼び出しによってイベントリストに作成されたイベントノードへの参照が返されます。

説明

オブジェクトバリアントへメッセージを送ります。

Object.messageに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.padEnd()

string padEnd( int targetLength , string padString )

パラメータ

targetLength パディング先の文字列に必要な長さ。
padString 現在の文字列をパディングする際に使用する文字列。

戻り値

string 指定された長さまでパディングされた文字列。

説明

文字列バリアントの末尾をpadStringで指定長さまでパディングします。

string.padEndに転送されます。バリアントがstringタイプでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.padStart()

string padStart( int targetLength , string padString )

パラメータ

targetLength パディング先の文字列に必要な長さ。
padString 現在の文字列をパディングする際に使用する文字列。

戻り値

string 指定された長さまでパディングされた文字列。

説明

文字列バリアントの始まりをpadStringで指定長さまでパディングします。

string.padStartに転送されます。バリアントがstringタイプでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.pop()

Variant pop( )

説明

配列バリアントからの要素をポップします。

Array.pop()に転送されます。バリアントが配列でない場合、バリアントは自分自身をnullバリアントに変換して元の値を返します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.push()

Variant push( Variant value )

戻り値

Variant 変更されたバリアント。

説明

値を配列バリアントにプッシュします。

Array.push()に転送されます。バリアントが非配列値の場合、バリアントは自分自身を配列に変換してArray.push()に転送します。nullバリアントである場合、渡された値(配列ではない)になります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.repeat()

string repeat( int numRepeats )

説明

文字列バリアントを何度か繰り返します。

string.repeat()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.replace()

string replace( string findStr , string replaceWith )

パラメータ

findStr
replaceWith
findPattern

説明

文字列バリアントのテキストを置換します。

string.replace()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.resume()

resume( int id = 0 , int stateProfile = 0 )

パラメータ

id オプション。停止リクエストを再開リクエストと照合する際に使用します。
stateProfile オプション。状態を記録する状態プロファイル。

説明

オブジェクトバリアントをstop()実行前の状態に戻します。

Object.resumeに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.reverse()

Variant reverse( )

説明

配列バリアントを反転させます。

Array.reverse()に転送されます。バリアントが非配列値の場合、バリアントは自分自身を配列に変換してArray.reverse()に転送します。nullバリアントである場合、渡された値(配列ではない)になります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.setLocation()

Object setLocation( double x , double y , double z )
Object setLocation( double x , double y , double z , double xFactor , double yFactor , double zFactor )
Object setLocation( Vec3 loc , Vec3 factors )

パラメータ

x 目的とするxの位置。
y 目的とするyの位置。
z 目的とするzの位置。
xFactor オブジェクト上で、位置が測定されるポイントのx値。オブジェクトのサイズに対する割合(0~1)として測定されます。
yFactor オブジェクト上で、位置が測定されるポイントのy値。オブジェクトのサイズに対する割合(0~1)として測定されます。
zFactor オブジェクト上で、位置が測定されるポイントのz値。オブジェクトのサイズに対する割合(0~1)として測定されます。
loc 目的とする位置を保持するベクトル。
factors オブジェクト上で、位置が測定されるポイントを表すベクトル。オブジェクトのサイズに対する割合(0~1)として測定されます。

戻り値

Object 平行移動したオブジェクト。

説明

Object.setLocationに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.setRotation()

Object setRotation( double x , double y , double z )
Object setRotation( Vec3 rotation )

パラメータ

x x軸に関する目的とする回転。
y y軸に関する目的とする回転。
z z軸に関する目的とする回転。
rotation 目的とする回転値のベクトル。

戻り値

Object 回転されたオブジェクト。

説明

オブジェクトバリアントの回転を設定します。

Object.setRotationに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.setSize()

Object setSize( double x , double y , double z )

パラメータ

x 目的とするxのサイズ。
y 目的とするyのサイズ。
z 目的とするzのサイズ。

戻り値

Object サイズ設定されたオブジェクト。

説明

オブジェクトバリアントのサイズを設定します。

Object.setSizeに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.setState()

setState( int state , int profile )

パラメータ

state 目的とする状態。
profile 目的とする状態プロファイル。

説明

オブジェクトバリアントの状態を設定します。

Object.setStateに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.setVariable()

setVariable( string variableName , Variant value )

パラメータ

variableName 変数名。
value 目的とする変数値。

説明

オブジェクトバリアントの変数の値を設定します。

Object.setVariableに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.shift()

Variant shift( )

説明

配列バリアントの先頭からの要素をシフト(ポップ)します。

Array.shift()に転送されます。バリアントが配列でない場合、バリアントは自分自身をnullバリアントに変換して元の値を返します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.slice()

Array slice( int fromIndex , int toIndex )

説明

配列バリアントのサブセクションから作成された新しい配列を返します。

Array.slice()に転送されます。バリアントが配列でない場合、バリアントは自分自身から配列を作成してArray.slice()に転送します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.sort()

Variant sort( )

説明

配列バリアントを並べ替えます。

Array.sort()に転送されます。バリアントが非配列値の場合、バリアントは自分自身を配列に変換してArray.sort()に転送します。nullバリアントである場合、渡された値(配列ではない)になります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.splice()

Variant splice( int fromIndex , int removeCount )
Variant splice( int fromIndex , int removeCount , Array insertArray )

戻り値

Variant 変更されたバリアント

説明

配列バリアントから要素を削除するもしくは配列バリアントに挿入します。

Array.splice()に転送されます。バリアントが配列でない場合、バリアントは自分自身から配列を作成してArray.splice()に転送します。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.split()

Array split( string delimiter , int limit = -1 )

説明

文字列バリアントを配列に分割します。

string.split()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.startsWith()

int startsWith( string str )

説明

文字列バリアントが定義した文字列で開始するのか照会します。

string.startsWith()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.stop()

stop( int stopState , int id = 0 , double priority = 0 , int stateProfile = 0 )

パラメータ

stopState オブジェクトの次の状態。
id オプション。停止リクエストを再開リクエストと照合する際に使用します。
priority オプション。stop()呼び出し間のつながりを断つ際に使用します。
stateProfile オプション。状態を記録する状態プロファイル。

説明

オブジェクトバリアントを停止してその状態を設定してから、resume()を待ちます。

Object.stopに転送されます。このメソッドは、バリアントがオブジェクトデータを含むツリーノードでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.substr()

string substr( int startIndex , int length )

パラメータ

startIndex 抽出する最初の文字の1ベースのバイトインデックス。このインデックスがマルチバイト文字の中間にある場合、文字全体を抽出します。負の数値の場合は、開始位置がstring.length + beginIndexになります。つまり、文字列の末尾からのオフセットになります。
length ターゲット文字列の長さ(バイト単位)。

戻り値

string 抽出された文字列。

説明

文字列バリアントのセクションを抽出して新しい文字列を返します。

string.substrに転送されます。バリアントがstringタイプでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.toLowerCase()

string toLowerCase( )

説明

文字列バリアントから小文字の文字列を作成します。

string.toLowerCase()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.toNum()

double toNum( )

戻り値

double 文字列の内容をダブルとして解釈したもの。

説明

文字列バリアントの内容を浮動小数点数として解釈します。

string.toNumに転送されます。バリアントがstringタイプでない場合には例外をスローします。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.toUpperCase()

string toUpperCase( )

説明

文字列バリアントから大文字の文字列を作成。

string.toUpperCase()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.trim()

string trim( )

説明

文字列バリアント末尾の余白をトリムします。

string.trim()に転送されます。バリアントがstringタイプでない場合には例外をスローします。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.unshift()

Variant unshift( Variant value )

戻り値

Variant 変更されたバリアント。

説明

値を配列バリアントの先頭にアンシフト(プッシュ)します。

Array.unshift()に転送されます。バリアントが非配列値の場合、バリアントは自分自身を配列に変換してArray.unshift()に転送します。nullバリアントである場合、渡された値(配列ではない)になります。

削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator -

double operator -( double value )
double operator -( Variant value )

パラメータ

value バリアントから減算する値

戻り値

double 減算の結果。

説明

2つの数値を減算します。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値にアクセスしています。

double myVal = current.labelValue - 2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator --

double operator --( )

説明

数値バリアントを減少させます。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を減少させています。

current.labelValue--;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator !

int operator !( )

戻り値

int バリアントがnullバリアント、NULLツリーノード、もしくは数値0.0である場合は真。それ以外では偽。

説明

バリアントがnullバリアント、NULLツリーノード、もしくは数値0.0であるかをテストします。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を比較しています。

if (!current.labelValue) {
	...
}
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator !=

int operator !=( int value )
int operator !=( double value )
int operator !=( string value )
int operator !=( treenode value )
int operator !=( Variant value )

パラメータ

value 比較対象となる値。

戻り値

int バリアントが値と異なっている場合は真、それ以外は偽。

説明

バリアントが他の値と異なっているかテストします。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を比較しています。

if (current.labelValue != 5) {
	...
}
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator %

int operator %( int value )
int operator %( Variant value )

パラメータ

value 係数として使用される値。

戻り値

int バリアントと他の値における係数。

説明

2つの数値における係数を返します。

係数演算子は除算の余りを返します。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator *

double operator *( double value )
double operator *( Variant value )

パラメータ

value 乗算に使用する値。

戻り値

double 2つの値の乗算結果。

説明

2つの数値を乗算します。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値にアクセスしています。

double myVal = current.labelValue * 2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator /

double operator /( double value )
double operator /( Variant value )

パラメータ

value バリアントの除算に使用する値。

戻り値

double 除算の結果。

説明

2つの数値を除算します。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値にアクセスしています。

double myVal = current.labelValue / 2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator []

Variant operator []( int index )

パラメータ

index 配列要素のインデックス。

戻り値

Variant 指定インデックスにおける配列要素。

説明

配列バリアントの要素にアクセスします。

Array []演算子に転送されます。

バリアントは配列に関連付けられた特殊なロジックを実行します。このロジックでは、バリアントが配列データを保持していない場合であっても、バリアントを配列のように処理することができます。たとえば、バリアントが文字列を保持する場合、その最初の要素として文字列を含む長さ1の配列であるかのようにバリアントを処理することができます。

Variant val = "Hello";
int len = val.length; // len = 1
return val[len]; // returns "Hello";
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator +

double operator +( double value )
Variant operator +( Variant value )

パラメータ

value バリアントに加算する値。

戻り値

double 加算結果。

説明

2つの数値を加算します。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値にアクセスしています。

double myVal = current.labelValue + 2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator ++

double operator ++( )

説明

数値バリアントを増加させます。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を増加させています。

current.labelValue++;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator +=

Variant operator +=( double value )
Variant operator +=( string value )

パラメータ

value バリアントに加算する値。

説明

数値バリアントを定義した値で増加させるか、文字列を現在の文字列バリアントに追加します。

両方のオペランドが文字列の場合、バリアントは値をバリアント自身に追加します。両方が数値の場合、バリアントはその値を値ごとに増加させます。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値にアクセスしています。

double myVal = current.labelValue - 2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator <

int operator <( int value )
int operator <( double value )
int operator <( Variant value )

パラメータ

value

戻り値

int

説明

バリアントが数値未満かテストします。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を比較しています。

if (current.labelValue < 5) {
	...
}
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator <=

int operator <=( int value )
int operator <=( double value )
int operator <=( Variant value )

パラメータ

value

戻り値

int

説明

バリアントが数値未満または等しいかテストします。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を比較しています。

if (current.labelValue <= 5) {
	...
}
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator -=

Variant operator -=( double value )

パラメータ

value バリアントを減少させる値。

説明

数値バリアントを定義した値で減少させます。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を減少させています。

current.labelValue -= 2;
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator ==

int operator ==( int value )
int operator ==( double value )
int operator ==( string value )
int operator ==( treenode value )
int operator ==( Variant value )

パラメータ

value 比較対象となる値。

戻り値

int バリアントが値と等しい場合は真、それ以外は偽。

説明

2つの値がお互いに等しいかテストします。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を比較しています。

if (current.labelValue == 5) {
	...
}
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator >

int operator >( int value )
int operator >( double value )
int operator >( Variant value )

パラメータ

value 比較対象となる値。

戻り値

int バリアントが値より大きい場合は真、それ以外は偽。

説明

バリアントが数値より大きいかテストします。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を比較しています。

if (current.labelValue > 5) {
	...
}
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。

Variant.operator >=

int operator >=( int value )
int operator >=( double value )
int operator >=( Variant value )

パラメータ

value 比較対象となる値。

戻り値

int バリアントが値より大きいまたは等しい場合は真、それ以外は偽。

説明

バリアントが数値より大きいまたは等しいかテストします。

次の例では、treenode.labelPropertiesを使用してオブジェクトのラベル値を比較しています。

if (current.labelValue >= 5) {
	...
}