提供:Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
再帰とは自分自身が自分自身を呼び出すプログラムのことである。また、循環参照のものも広義の再帰である。たとえば、フラクタルを描画するときなどに使用する。定義を利用するため、Scratch 2.0から可能になった。
例
定義 コッホ曲線(長さ) もし<(長さ::custom-arg)\>[1]>なら コッホ曲線((長さ::custom-arg)/(3)) @turnLeft(60)度回す コッホ曲線((長さ::custom-arg)/(3)) @turnRight(120)度回す コッホ曲線((長さ::custom-arg)/(3)) @turnLeft(60)度回す コッホ曲線((長さ::custom-arg)/(3)) でなければ (長さ::custom-arg)歩動かす
使い方
再帰が使いやすいのは、同じ動作を繰り返したいものの、通常のループ文ではうまく再現できず、毎回条件を変えて繰り返したいときなどに有効である。また、スプライトの動きにかかわらず、データを処理する場面でも、上の画像のような樹形図は、再帰を使うことで探索しやすくなる。
再帰を使う上での注意点
もし、再帰で実装しようとしている動作が、「ずっと」や「まで繰り返す」でも簡単に実装できるのならそちらを使うほうが良いだろう。
再帰は、すればするほどメモリを消費していく。最悪の場合、ブラウザがクラッシュしてしまう場合もある。