repeat & break – flow control “REPEAT” & “BREAK”
使用例1: repeat{rcmd;if(expression){break}}
概要1: expressionが満たされていない限りrcmdが繰り返し実行される。
(備考:expressionが満たされていても、rcmdが一度は必ず実行される)
使用例2: repeat{if{expression){break}; rcmd2}
概要2: expressionが満たされていない限りrcmdが繰り返し実行される。
(備考:expressionが満たされていている場合、rcmdが一度も実行されない)
関連: for, while,
# usage # repeat { rcmd if (expression) {break} } # and/or repeat { if (expression) {break} rcmd } ##### ----- examples ----- ##### # 1から5までカウントし、表示する # > counter=0 > repeat { + counter=counter+1 + print(counter) + if (counter==5) {break} + } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 # printYesNoが真の場合、1から3までカウントし、終わりに"done"と表示する# # printYesNoが真の場合の例。3までカウントすることが終了条件 # > printYesNo=T;counter=0 > repeat{ + counter=counter+1 + print(counter) + if (counter==3){ + print("Done") + break + } + if (printYesNo==F){break} + } [1] 1 [1] 2 [1] 3 [1] "Done" # printYesNoが偽も場合の例。終了条件をみたしているが実行している # > printYesNo=F;counter=0 > repeat{ + counter=counter+1 + print(counter) + if (counter==3){ + print("Done") + break + } + if (printYesNo==F){break} + } [1] 1 # printYesNoが偽も場合の例。終了条件の位置を変更すると実行されない # > printYesNo=F;counter=0 > repeat{ + if (printYesNo==F){break} + counter=counter+1 + print(counter) + if (counter==3){ + print("Done") + break + } + } ##### ----- end examples ----- #####