enumMembers (オブジェクトメンバを列挙)

  1. 文法
  2. 詳細
  3. 引数
  4. 例外
  5. 戻り値

1. 文法

メンバ型
関数
メンバ所有者
global
呼び出し
global.enumMembers( obj, callback )

2. 詳細

指定されたオブジェクトが持つメンバを列挙します。列挙される順序は不定です。

列挙された各メンバについて、コールバック関数を指定することができます。

3. 引数

obj (Object)
オブジェクトを指定します。
callback (Function)
コールバック関数を指定します。メンバ一つにつき、一回ずつこの関数が呼ばれます。
この関数は、三つの引数を受け取ります。一つめの引数は、メンバ名を表す文字列です。二つめの引数は、そのメンバのフラグで、tpmfHiddenMemberとtpmfStaticMemberのビット論理和で表される整数値です。三つめの引数は、そのメンバの値です。戻り値は真偽値を返してください。この関数が真を返すと、メンバが残っている場合は次のメンバを列挙します。偽を返すと、その場で列挙を打ち切ります。
このコールバック関数内で、対象オブジェクトobjのメンバを追加したり削除してはいけません。この場合の動作は未定義(何が起こるかわからない)です。

4. 例外

5. 戻り値

ありません。

6. 例

var arr = [];
function emCallback(name, flag, value)
{
	var isStatic = (flag & tpmfStaticMember) ? 'yes' : 'no';
	var isHidden = (flag & tpmfHiddenMember) ? 'yes' : 'no';

	var str = "%s <static=%s> <hidden=%s> %s".sprintf(name, isStatic, isHidden, value);
	arr.add(str);
	return true;
}

enumMembers(WaveSoundBuffer, emCallback);
arr.sort();
System.inform(arr.join("\n"));