なでしこを明後日の方向に

日本語プログラム言語なでしこを応援しています

なでしこで「1回」を使おう?

繰り返し構文の「回」を「1回」という形で時々使うので紹介。

こんな形↓

1回
  //ここにプログラム
  //ここにプログラム
  //ここにプログラム

もちろん動作的な意味はあまりありません。
見たり書いたり読んだりするときに時々便利になるかも程度。

1回の中では「抜ける」を使うことができる

複数条件で判定する場合、「もし」で書くとインデントが多くなったり「かつ」「または」を使ったりします。
そのような場合、ふつうは関数にするこの形ですが……

//↓こういう関数
●範囲内判定(X,Y)
 もしX0から100範囲内でなければ0戻す
 もしY0から100範囲内でなければ0戻す
 1戻す

●マウス押時用
 X=マウスX
 Y=マウスY
 もし範囲内判定(X,Y)1ならば //関数の呼び出し
   //ここに条件を満たしたときの処理

関数にすると、プログラムを読むときに上下にスクロールさせないと中身が確認できません。
1回を使って書くと…

●マウス押時用
 X=マウスX
 Y=マウスY
 1回 //ここに埋め込むことができる
   もしX0から100範囲内でなければ抜ける
   もしY0から100範囲内でなければ抜ける
   //ここに条件を満たしたときの処理

上から下に読むだけで済みます。
単純なプログラムだと「1回」「抜ける」で書いたほうが見通しがよくなると思います。

区切りがわかりやすい

//なでしこ3
インデント構文
1回
  値指定ラベル=「」ラベル作成
  値指定バー=[100,500]値指定バー作成
  改行作成
  値指定バークリック時
    対象からテキスト取得
    値指定ラベルそれテキスト設定

連動する部品を「1回」の中に書きます。
部品の作成順序を変えたりするとき、セットになっている部分が見やすくなります。

0回に書き換えることが容易

//なでしこ3
インデント構文
答え = 10から20乱数範囲
1回 //デバッグ用
  デバッグ用ラベル = 「」ラベル作成
  デバッグ用ラベル答えテキスト設定

1回の部分を0回に直すとブロックをコメントにするよりも手間が少なくなります。
動作確認などに使うとよいでしょう。