Autoit の基礎 – 一次元配列と多次元配列
配列
一次元配列
配列の定義方式は変数の定義と同じで、違う所は配列の変数名です。
配列を定義する場合、宣言が必要になります。
次のコードは配列を2つ作成するサンプルです。
Dim $array[2]
; $arrey[要素数]
現在上記の配列にはデータがない状態なので、2つの配列にデータを代入してみましょう。
データの代入方法は2つあります。
; 1つ目の方法
Dim $array[2] = [1, 2]
; もう1つの方法
Dim $array[2]
$array[0] = 1
$array[1] = 2
1つ目の方法は、配列を定義すると同時にデータを代入しています。
もう1つの方法は、配列を定義した後にデータを代入しています。
現在の配列の内容はこのようになっています。
要素 | $array[0] (要素1) | $array[1] (要素2) |
---|---|---|
データ | 1 | 2 |
要素を簡単に説明すると、Autoit の基礎 – 変数、定数で「変数=フォルダー」と例えたように、フォルダーなどで考えると分かりやすいかと思います。
$array[2] とは、$array(親フォルダー)の中に、要素(サブフォルダー)を作成すると考えると分かりやすいと思います。
配列では、$array(親フォルダー)にはデータを入れることはできず、要素(サブフォルダー)にのみデータを入れることが出来ます。

二次元配列と多次元配列
配列には一次元、二次元、三次元…というように多次元配列があります。
AutoIt は最大64次元または1600万の要素をサポートしています。
多次元配列の簡単な説明
配列には一次元、二次元、三次元…というように多次元配列があります。
AutoIt は最大64次元または1600万の要素をサポートしています。
多次元配列を建物に例える
一次元配列:建物に合計 10 の部屋があるとする。
$array[10]
5番目の部屋 = 部屋[4] = $array[4]
二次元配列:建物に合計 10 の部屋があり、各部屋にさらに小部屋が 10 あるとする。
$array[10][10]
一番目の部屋の中の 5番目の小部屋 = 部屋[0][4] = $array[0][4]
三次元配列:建物に合計 10 の部屋があり、各部屋に小部屋が 10 あり、さらに各小部屋に隠し部屋が 10 あるとする。
$array[10][10][10]
一番目の部屋の二番目の小部屋の 5番目の隠し部屋 = 部屋[0][1][4] = $array[0][1][4]
上記の説明で多次元配列がわかりましたでしょうか?
解りにくいという方もいるかと思いますが、サンプルコードを書いてみましたので、実行して結果を確認してみてください。
二次元配列のサンプル
#include <Array.au3>
Dim $week[4][3] = [["月曜日", "火曜日", "水曜日"],["国語", "数学", "数学"],["英語", "国語", "体育"],["英語", "音楽", "自由"]]
_ArrayDisplay($week)

三次元配列のサンプル
Dim $aArray[3][4][2] = [[["1", "2"],["3", "4"],["5", "6"],["7", "8"]], _
[["9", "10"],["11", "12"],["13", "14"],["15", "16"]], _
[["17", "18"],["19", "20"],["21", "22"],["23", "24"]]]
MsgBox(0, "$aArray[2][1][0]", $aArray[2][1][0] & @CRLF)
$aArray[2][1][0]
↓
$aArray[3番目][2番目][1番目]
コメント