- 2008-05-31 (土)
- tutorial/strategy
fromhttp://nodebox.net/code/index.php/Repetition
繰り返し処理(Repetition)はコンピュータが本当に良いということです。
決して退屈させないし、何重にも同じ処理を頼むことが出来るし、貴方が繰り返し処理を嫌いになる事はないであろう。
そしてまた、計算が速いです。
The for-loop
プログラミング中に、複数回同じ事を繰り返す時、一般的にfor-loop(for文によるループ)を呼び出す。
for-loopは指折りで数える手をセットするのに似ている。
しかし、手の数は無限であり、数える指も無限である。
ステートメントは以下である。:
for variable in list: do stuff
最後に:コロンを付けるのを忘れないこと!
The variable part
変数は好きなようにどんな名前も付けられる(Variablesの項で記述済み)。
変数は現在どの指を数えているか保持する。
一般的な名前はiである。
これは、基本的な数学でカウンタがiと命名されることの名残である。
これは短い文字で、長い歴史を持つ良いしきたりである。
The list part
Listパートは数字、もしくは属性のリストである。
各エレメントが連続してVariableパートへ割り当てられる。
for-loopは唯、指を数えない。それはどのようにでも望むようにカウントできるし、numbers, strings, colorsと、どんなものでもListに入れることが出来る。
for i in ["apple", "pear", "banana"]:
print i
>>> apple
>>> pear
>>> banana
一般的にリストとしてrange(n)コマンドを入れる。
これは0からnまでの数字のリストを返す。
for i in range(3):
print i
>>> 0
>>> 1
>>> 2
The do stuff part
do stuffパートは繰り返し実行される必要がある、NodeBoxコマンドである。
それらはfor-ステートメント文から空白かタブでインデントする。
スクリプトはここでループを「捕獲」し、連続的に変数に割り当てられたリストを使って、それぞれのエレメントがあるまで、実行され続ける。
もちろんそれぞれのループに変数を使用できることは素晴しい所です。
上の例のように、小さなループを持った時、全てのフルーツを通過し、それぞれのフルーツをプリントする。
print i は抽象的なコマンドで、NodeBoxはiをそれぞれのリスト内のエレメントに置き換えてループする。
ステートメント文の最後に:を付けるのを忘れないように!
For-loops and random()
for-loopとrandom()はうまく一緒に動作する。
例えば100個の輪を作って、ランダムな位置に配置できる。
この方法は、スクリプトを実行させる度に、異なった構成の輪になる。
この方法での簡単なプログラミング「スタイル」である。
for i in range(100):
x = random(HEIGHT)
y = random(WIDTH)
r = random(50, 100)
oval(x, y, r, r)
- Newer: Commands ≫
- Older: ≪ Lists