過去の桐井戸端BBS (桐ver.9)
28612 一括処理での繰り返しはどのような順番で実行されるのでしょうか ぺんだこ 2004/12/26-21:27
はじめまして。
私は桐の勉強を始めたばかりの超初心者です。
まだ勉強の段階なので、マニュアルを片手に既存のソースを読んでいるだけの者です。
そこで、どうしても繰り返し処理の流れがわからない点がありましたので、
こちらでご教示頂けたらと思い、投稿させて頂きました。
宜しくお願い致します。


繰り返し &LOOP1=1,2

if (.NOT (空ファイル))
行集計 データ行=無効 小計[優先順]{[件記号]#項目値}
繰り返し &LOOP2=1,3
繰り返し &LOOP3=1,3
繰り返し &LOOP4=1,3

編集表 1
     &項目名=#対応文字列(・・・・・・・・・・・・・・)
     &検索値=#対応文字列(・・・・・・・・・・・・・・)
     検索 [・・・]{・・・},文字比較方法=自動,部分一致検索=しな
い,終了状態=&終了
     
     編集表 2
     
      条件(.NOT(&検索値="###")) 行訂正 終了状態=&終了 , &項目
名=&人数

     編集表 3
   
   繰り返し終了
  繰り返し終了
 繰り返し終了


細かいところは省略させて頂きました。
繰り返しが4回連続で行われているのですが、この繰り返しの順番が全くわかりません。
どうぞ宜しくお願い致します。
28613 繰り返しは入れ子構造です 佐田 守弘 2004/12/26-22:00
記事番号28612へのコメント
ぺんだこさん

まず最初に、繰り返しのループですが、「繰り返し」〜「繰り返し終了」までの間の
コマンド郡が、1つの繰り返しのループです。
そして繰り返しは入れ子構造で記述できます。
仮に、(引用内容は説明のために一部変更)
 >繰り返し &LOOP1=1,2
 > 繰り返し &LOOP2=1,3
 >  繰り返し &LOOP3=1,4
 >  繰り返し終了
 > 繰り返し終了
 >繰り返し終了
となっていれば、三重の入れ子構造(質問文は4重らしい)になっていて、最も内側の繰り返しが
行われた後、その外の繰り返しが行われ(ここで内側の繰り返しも行われる)、更にその繰り返しの後に外側の繰り返しが行われます。

言葉でいえば、内側の繰り返しを1から4間での4回を、中間の繰り返しで同様に3回、
更にそれを外側の繰り返しで2回行います。

&LOOP1という変数名の数字の1は、単に名前の文字だけの意味です。繰り返しの順序との関係はありません。
重要なのは、繰り返しのループ構造の入れ子の順序です。

佐田守弘(KS-00119)
28614 Re:一括処理での繰り返し処理について ONnoji 2004/12/26-22:00
記事番号28612へのコメント
ぺんだこさん、こんにちは。

次のような感じではないでしょうか…

┌繰り返し &LOOP1=1,2

│┌if (.NOT (空ファイル))
││ 行集計 データ行=無効 小計…
││┌繰り返し &LOOP2=1,3
│││┌繰り返し &LOOP3=1,3
││││┌繰り返し &LOOP4=1,3
│││││
│││││ 編集表 1
│││││ &項目名=#対応文字列(・・・)
│││││ &検索値=#対応文字列(・・・)
│││││ 検索 [・・・]{・・・},…
│││││ い,終了状態=&終了
│││││
│││││ 編集表 2
│││││
│││││ 条件(.NOT(&検索値="###")) 行訂正 …
│││││
│││││ 編集表 3
│││││
││││└繰り返し終了
│││└繰り返し終了
││└繰り返し終了
││
>--------------------<
以下が書かれていないようですが…??
>--------------------<
││
│└end

└繰り返し終了


戻る