[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[683] 1~100の数字を当てたい

まくろしょしんしゃ [2022/05/18 15:38:16]

いつも使わせていただいてます。
ありがとうございます。

さっそく質問です。

// *1

x = 3;
for (y = 2; y <= Bottom; y++) {
  if ([x,y] == "1") {
    [x+1,y] = [x-1,y] * 1;
  }
}


// *2

x = 3;
for (y = 2; y <= Bottom; y++) {
  if ([x,y] == "2") {
    [x+1,y] = [x-1,y] * 2;
  }
}

と""の部分と *0の部分の数字を
固定範囲指定して1つのマクロで合体させる方法はありますか?
例 1~100までの数字で変動させる




Re: [683] 1~100の数字を当てたい

あすかぜ [2022/05/18 21:30:32]

小数を考えなくてもよいのであれば、数値の大小比較で 1 以上 100 以下を判別するのが簡単そうです。

x = 3;
for (y = 2; y <= Bottom; y++) {
  if ([x,y] >= 1 && [x,y] <= 100) {
    [x+1,y] = [x-1,y] * [x,y];
  }
}

期待通りに動作するでしょうか。

Re: [683] 1~100の数字を当てたい

まくろしょしんしゃ [2022/05/20 16:58:08]

ありがとうございます!
期待通りの動作です。

ちなみになのですが、もし前後に文章がある場合は
難しいのでしょうか…?

テスト1~テスト100の場合

x = 3;
for (y = 2; y <= Bottom; y++) {
  if ([x,y] == "テスト1") {
    [x+1,y] = [x-1,y] * 1;
  }
}

Re: [683] 1~100の数字を当てたい

あすかぜ [2022/05/20 20:05:02]

「テスト1」から「1」部分を抽出することもできますが、1 から 100 まで繰り返し処理をしてしまうほうがマクロを書きやすいかもしれません。

x = 3;
for (y = 2; y <= Bottom; y++) {
  for (i = 1; i <= 100; i++) {
    if ([x,y] == "テスト" + i) {
      [x+1,y] = [x-1,y] * i;
      break;
    }
  }
}

このマクロでどうでしょうか。

Re: [683] 1~100の数字を当てたい

まくろしょしんしゃ [2022/05/21 10:07:33]

お返事ありがとうございます。
期待通りです!
大変助かりました。

これからもよろしくお願いします。

スレッド一覧に戻る返信