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)
データ12

要素を簡単に説明すると、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番目]

コメント

コメントする


目次