分類 | 分類/基本構文/フロー制御 |
種類 | 命令 |
引数 | {=?}Sを|Sで |
説明 | 『(データS)を反復...』でデータSの要素分繰り返す。繰り返しに際し変数『それ』にデータの要素が代入される。 |
識別 | id:204 |
「(データ)を反復、(内容)」で、指定されたデータを一要素ずつ内容を実行します。
繰り返しの際には、変数『それ』にデータの要素が代入されます。
以下のプログラムは、フォルダ内のファイルを列挙し、そのファイルのファイルサイズを一つずつ表示します。
マイドキュメントのファイル列挙 それを反復 ファイル名はそれ。 マイドキュメント&ファイル名のファイルサイズを、 Fサイズへ代入。 「○{ファイル名}{タブ}{Fサイズ}B」を表示。
引数のデータSに文字列を指定すると、文字列の一行を一要素とみなし反復します。
以下は、文字列に行番号をつけて表示するプログラムです。
反復命令では、反復する回数を変数『回数』に代入しているので、行番号をつけるプログラムはとてもシンプルに記述できます。
「あ い う え お」を反復 「{回数}:{それ}」を表示。
※補足(fushigineko)[2024年1月29日] 反復が入れ子になっている場合には、1つ上の反復に戻って続けます。
繰り返しの途中で繰り返しから抜ける場合は、『抜ける』命令を使います。
「あ い う え お」を反復 「{回数}:{それ}」を表示。 もし、それが「う」ならば、抜ける。
繰り返しの途中で次の繰り返しへ続けたい場合は「続ける」命令を使います。以下は、本来、いか、たこ、さんまと表示するプログラムですが、「たこ」ならば、それを表示しません。「続ける」命令によって、ループの先頭に戻って、次の繰り返しを行うからです。
「いか,たこ,さんま」を「,」で区切る それを反復 もし、それが「たこ」ならば、続ける。 「●{それ}」を表示
反復では変数『それ』と変数『対象』にデータの要素が挿入されます。
反復の中に反復がある場合、『対象』はデータが保存されますが『それ』は書き換わります。
動物は「馬 猿」。 植物は「さくら ききょう」。 動物を反復 「対象は{対象}。それは{それ}。」を表示。 植物を反復 「対象は{対象}。それは{それ}。」を表示。 「対象は{対象}。それは{それ}。(それは植物でしょ?)」を表示。
上の意味は、「対象」は 反復の入れ子に対応しており、内部に更に反復があった場合、その反復から抜けてくると、反復に入る前の値が復帰している、(入れ子に対応している)ということと、「それ」はあくまでも最後に「それ」に代入された値を保持しているだけなので、内部の反復が終了した時点で「それ」に入っていたものがそのまま残っている(入れ子に対応していない)ということです。
(当然のことですが、「回数」も入れ子に対応しています)
母艦の高さは母艦の高さ+200。 第一層は「第一層1 第一層2」 第二層は「第二層1 第二層2」 第三層は「第三層1 第三層2」 第一層を反復 「対象は{対象}。回数は{回数}。それは{それ}。」を表示。 第二層を反復 「 対象は{対象}。回数は{回数}。それは{それ}。」を表示。 第三層を反復 「 対象は{対象}。回数は{回数}。それは{それ}。」を表示。 「 第三層を反復した後の第二層レベルでの対象は {対象}。」と表示。 「 第三層を反復した後の第二層レベルでの回数は {回数}。」と表示。 「 第三層を反復した後の第二層レベルでのそれは {それ}。」と表示。