Enumeratorオブジェクト

提供: AutoHotkey Wiki
移動: 案内検索

AHKL [AHK_L 49+]: オブジェクト内の項目を列挙する。

Next メソッド[編集]

Enum.Next(OutputVar1 [, OutputVar2, ...])
OutputVar1,
OutputVar2
実装依存の値を返す。
... 追加パラメタ(サポートされる時のみ)。
戻り値
成功時は0以外の整数を返す。列挙すべき項目がもう無い場合は0を返す。利用法に間違いがある場合は空文字列が返す。

備考: Enumerator型のオブジェクトはインターフェイスであり、作成方法は異なるが利用法はどれも同じになる。

オブジェクト[編集]

ObjNewEnum()によって返されるEnumratorはオブジェクト内に格納されたキーと値の組を列挙することができ、2個のパラメタまで指定可能。

OutputVar1 指定の変数に、キーと値の組のうちキーを格納する。
OutputVar2 指定の変数に、キーと値の組のうち値を格納する。

代替文法[編集]

利便性のため Enum[k, v] は Enum.Next(k, v) と同じものとする。
省略構文を用いた場合、曖昧さ無しでスクリプトを記述するのは難しいと思われるので、Enumが組み込みEnumratorであるとよく分かる場合のみ利用すべきだろう。

Related[編集]

Forループ, Object.NewEnum()

Example(s)[編集]

; Create some sample data.
obj := Object("red", 0xFF0000, "blue", 0x0000FF, "green", 0x00FF00)

; Enumerate!
enum := obj._NewEnum()
While enum[k, v]
    t .= k "=" v "`n"
MsgBox % t

; AHK_L 59+
For k, v in obj
    s .= k "=" v "`n"
MsgBox % s