チケット #8024

ループコマンドについて
登録: 2006-02-13 16:39 最終更新: 2007-07-27 17:14

報告者:
(匿名)
担当者:
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

forやwhileは指定した条件を満たすまで繰り返しますが、
設定した条件以外でループ処理から抜けようとした場合、
変数にlastより大きい数値を入力するとlastの数値に
なるまで引き算でループを繰り返し、gotoを使用しても
ループを終了したわけではないので、10回程繰り返すと
"Stack overflow"になります。

ループ部分を"goto"で作成すれば良いのですが、任意の
場所でループを終了させる事は可能でしょうか?

;<変数に数値を入力した場合>
cnt = 1
for i 0 10
int2str msg1 cnt
int2str msg2 i
messagebox msg1 msg2
if cnt = 2 i = 15
cnt = cnt + 1
next


;<gotoを使用した場合>
cnt = 1
:roop
for i 0 10
int2str msg1 cnt
messagebox msg1 'cnt'
cnt = cnt + 1
goto roop
next

添付ファイルリスト

チケットの履歴 (8 件中 3 件表示)

2006-02-19 16:00 更新者: (del#10776)
コメント
Logged In: YES
user_id=10776

将来、マクロコマンド break を追加したいと思います。

2006-02-19 16:00 更新者: (del#10776)
コメント
Logged In: YES
user_id=10776

将来、マクロコマンド break を追加したいと思います。

2006-08-13 13:34 更新者: maya
  • (トラッカー上でのカテゴリーの変更)
2007-07-20 17:52 更新者: doda
  • 担当者(未割り当て) から doda に更新されました
2007-07-23 21:36 更新者: doda
  • 解決法なし から 修正済み に更新されました
コメント
Logged In: YES
user_id=14322

for/whileループを終了させるマクロコマンド、breakを実装しまし
た。
問題がなければ、次リリース(4.53)に含まれます。
2007-07-24 23:58 更新者: maya
コメント
Logged In: YES
user_id=1144

ありがとうございます。
二重ループでも問題ないことを確認しました。
2007-07-24 23:58 更新者: maya
  • 添付ファイル 1984: break.ttl が付加されました
2007-07-27 17:14 更新者: doda
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2007-07-27 17:14 に更新されました

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする