【Processing】forとwhileの違い【僕は使い分けようと思う】

【Processing】forとwhileの違い【僕は使い分けようと思う】
  • URLをコピーしました!
ワタタク

今回の記事の目的はProcessingの「forwhileの違い」を理解し、どう使うのかを決めること。

記事内のProcessingのバージョンは4.3。

動きのある画像は、コードではなく、GIF画像編集で無限再生されるようにしています。

Xでシンギュリラさんに教えていただいたこともふまえて、今回の記事を書いております。

目次

【Processing】forとwhileの違い

違いの中で紹介しているコードは、forwhileどちらも以下の画像の実行結果となります。

forについて

構文
for (初期化; 条件; 更新) {
コード
}


whileと同じ結果になる例
size(500, 500);
background(255);for (int i = 0; i < 550; i = i + 50) {
ellipse(i, 250, 50, 50);
}

  • ループに必要な内容を1行で書くことができる
  • whileよりも書くことを少なくできる
  • 慣れてないと1行を読むのに時間がかかる(何回も上の行を読んだり下の行を読んでしまう)
  • 一般的には、forループの方がコードが簡潔で読みやすくなることが多いため、繰り返し回数が決まっている場合にはよく使われる
  • 2個以上forを使って、コードを書くことができる

whileについて

構文
while (条件式) {
コード
}


forと同じ結果になる例
size(500, 500);
background(255);

int i = 0;
while (i < 550) {
ellipse(i, 250 , 50, 50);
i = i + 50;
}

  • 変数、条件、更新の行を分けて書くことで、初心者の人にとって何をしているのか分かりやすいと思う(僕はそう感じた)
  • 上から順番に読んでいって分かりやすい(冒頭に載せたXのシンギュリラさんがおっしゃるようにスッキリしている)
  • forよりも書く行が増える
  • 2個以上whileを使ってコードを書くことができる

【Processing】forとwhileどちらを使うのか

Processingでは、forを使うのが一般的みたいなのでforを使います。

ただ、forではちょっと読みにくいなって条件になったときは、whileを使って書こうと思います。

【Processing】forとwhile両方使うことで、別の表現のアイデアが描けるかもしれない

初心者の段階の僕が思うには、forの方が1行で初期化、条件式、更新と詰め込まており、頭を使うのが多いと感じています。なのでforの方はちょっと初心者なりに複雑な表現に挑戦するときに使うといいかも。

whileの方は変数、条件式、更新と行を分けて書くので、シンプルな表現をしたいときに使うといいと思いました。

【Processing】forとwhileを使うときの注意点

forとwhileを使うときは、どちらか1つに統一すること。

1つのプログラムでforを使って、whileも使ってってなるとすごく読みづらくなると思います。

(ん?ん?)って固まる時間が増えそう。

最後にまとめると、僕は基本的にはforで、表現のアイデアに困ったときはwhileで書きます。

ワタタク

それでは今日もレッツワクワクコーディング。

ワタタク(Watataku)
クリエイティブコーダー/アーティスト
AIと共に、「人の心に寄り添う、機能するアート」を探究しています。

ここは、その思索と創造の全記録を記す、思考の実験室(アトリエ)です。

僕の創作の源泉は、人生経験そのものです。
不当な出来事や、精神的な支配の中で、私の心は何度も粉々に砕け散りました。しかし、その一つ一つの破片をどのようにすれば鮮やかな絵の具にできるかを考え、ゆっくり心のパレットに色を整えていきました。その、長い、長い、自身との対話の果てに「人の役に立つアートを作りたい」という考え方にたどり着きました。

かつて、僕の武器は、アコースティックギター弾き語りと、カメラでした。
オリジナルソングの演奏でお客様投票1位となった「物語の力」。
世界20カ国の旅で培った、多様な「視点」。

今、僕は、それら全ての経験を、「コード」という、新しい言語で、世界に問いかけています。

このブログでは、作品の制作過程や、日々の発見、そして、僕自身の上達の軌跡を記録していきます。

僕の旅が、あなたの日常を、ほんの少しでも豊かにするための、光になることを願って。

クリエイティブコーディングロード運営者 ワタタク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次