提供: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)歩動かす

使い方

再帰が使いやすいのは、同じ動作を繰り返したいものの、通常のループ文ではうまく再現できず、毎回条件を変えて繰り返したいときなどに有効である。また、スプライトの動きにかかわらず、データを処理する場面でも、上の画像のような樹形図は、再帰を使うことで探索しやすくなる。

再帰を使う上での注意点

もし、再帰で実装しようとしている動作が、「ずっと」や「まで繰り返す」でも簡単に実装できるのならそちらを使うほうが良いだろう。

再帰は、すればするほどメモリを消費していく。最悪の場合、ブラウザがクラッシュしてしまう場合もある。

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。