[AutoHotKey_L翻訳]オブジェクト>シンプルな配列

抽象的なデータ構造を、オブジェクトといいます。
オブジェクトはデフォルトで、3つの関数を持ちます。
  • GET
    値を取得します。
  • SET
    値を設定します。
  • CALL
    関数を呼び出します。
オブジェクトが参照するのは、ポインタか、特定のオブジェクトのハンドルです。
オブジェクト内に、関数から渡されるか、返された値を格納できます。

 x:=y のように、値の参照コピーを行った後には、
両方の値は、元の同じオブジェクトyを参照します。

IsObjectは、変数がオブジェクトであるかを判定します。:
Result := IsObject(expression)

オブジェクトは以下の型を持つことができます。
  • Object       - スクリプトによって操作可能な連想配列
  • ファイル     - ファイルI/Oインタフェイスを提供します
  • Func          - 関数
  • ComObject - IDispatch(参考) インターフェイスのラッパー(Com又はオートメーションオブジェクト)
コンテンツ
  • 基本的な使い方              -配列、連想配列、オブジェクト、オブジェクトの解放、リマーク
  • 拡張的な使い方          -関数参照、配列の配列、関数の配列
  • カスタムオブジェクト       -プロトタイプ、クラス、コンストラクタとデストラクタ、メタ関数
  • デフォルトのベースオブジェクト  -Varの自動宣言、擬似プロパティ、デバッグ
  • 実装               -参照カウント、オブジェクトへのポインタ

シンプルな配列

■配列を作る
Array:=[ Item1, Item2, ... , ItemN ]
Array:= Array( Item1 , Item2, ... , ItemN )
■Itemの取得
Value := Array[Index]
■Itemの設定
Array[Index] := Value
■Itemの追加
Array.Insert(Value)
■インデックスを与えてアイテムを追加する
Array.Insert( Index ,Value , Value2,....)
■Itemを取り除く
RemovedValue := Array.Remove( Index )

配列が空でないとき、MinIndexとMaxIndexは、配列中の最小インデックスと最大インデックスを返します。

ほとんどの場合、最小インデックスは1なので、
最大インデックスはアイテムの数になります。
array :=["one","two",tree"]

;1からitemの数までを反復する
Loop % array.MaxIdex()
    MsgBox % array[A_Index]
    
;要素の列挙
For index , value in array
    MsgBox % "Item " index " is " value ""