こんにちは、にいるです。
今回はApexのFor文の抜ける条件にBooleanを使用する方法について、紹介したいと思います。
・【ヘルプ】For ループ
・【ヘルプ】従来の For ループ
1.For文とは
For文とは、処理を繰り返すためのコードを書く時に使用します。
下記が構文です。
■構文
1 2 3 |
for (init_stmt; exit_condition; increment_stmt) { code_block } |
例えば、1週間分の何かの処理をしたい場合は、下記のように書くことができます。
■サンプル
1 2 3 |
for (Integer i = 1; i < 7; i++) { System.debug(i); } |
■デバッグ
このようにFor文を使用することで、繰り返す処理を簡単に書くことができます。
詳しくは下記の記事でもご紹介していますので、合わせてご覧ください。
・Apexの繰り返し処理「Forループ」の使い方について
2.For文の抜ける条件にBooleanを使う方法
実は、For文を抜ける条件に、Booleanが使えるとは知りませんでした。
使えたらいいのになと思って書いてみたらコンパイルが通って、1人感動していました笑
書き方はシンプルです。
For文の条件式にBooleanの変数を書くだけです!
1 2 3 4 5 6 7 8 9 10 11 |
// for文の判定に Booleanを使用 Boolean check = False; System.debug('●①check● = '+ check); for(integer i = 0; !check; i++){ System.debug('●②i● = '+ i); if(i > 9){ System.debug('●③i● = '+ i); check = True; } } System.debug('●④check● = '+ check); |
上記のコードはcheckというBoolean型の変数でfor文を抜ける処理を制御しています。
変数のiが10になるとif文の中に入ってcheckがTrueになるので、そこでfor文を抜けるという処理内容になります。
デバッグを見てみます。
想定通り10回目で処理が完了していますね!
取得してきたリストのサイズ(list.size())で処理回数路を判定することは多いんですが、Booleanでもロジック的に行けるはず!と思ってやってみた結果でした。
自分で考えてやってみたのでもう忘れません笑
3.まとめ
いかがでしたでしょうか。
試行錯誤、考えながらやっていて、これはできないかな、これならいけるはずとか考えてやると面白いですね。
ロジックを考えて、ぴったりハマった時の達成感は最高ですね!
皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!