FOR-IN-NEXT

配列やコレクションなどのグループの各要素に対して繰り返し処理を行います。

配列変数には配列の他に COMのコレクション、GETDIRGETITEMGETALLWINのスクリプト関数での利用が可能です。これら3つの関数は、配列変数に指定した場合は取得した要素を配列で返し、それ以外では取得した要素の数を返す特別な関数です。

配列変数に文字列・数値が指定された場合には1文字づつ要素分解します。

同じ繰り返し処理を行うFOR-TO-NEXTがありますが、配列を扱うときはFOR-IN-NEXT、それ以外はFOR-TO-NEXTというような使い分けで良いと思います。

構文
FOR 変数 IN 配列変数
処理
NEXT
引数
戻値

配列の中身を出力

DIM array[] = 25, 354, 851, 2, 4562

FOR num IN array
	PRINT num
NEXT
結果
25
354
851
2
4562

配列変数に文字列を指定

配列変数に文字列を指定した場合、1文字ずつ出力されます。数値を指定した場合も同じです。

FOR item IN “alphabet”
	PRINT item
NEXT
結果
a
l
p
h
a
b
e
t

デスクトップにあるファイルの一覧を出力

GETDIR関数は取得した要素の数を返すので配列ではありませんが、For In構文においては取得した各要素を返す特別な関数です。

CONST ssfDesktop = 0

DIM Shell = CREATEOLEOBJ(“Shell.Application”)
DIM Folder = Shell.NameSpace(ssfDesktop)

FOR Item IN GETDIR(Folder.Self.Path)
	PRINT Item
NEXT