再帰再帰再帰


コーディングは挑戦的な旅でした、そして、始めに、私は本当にこの概念を再帰ということを理解することに苦労しました.私の名前はハーレーパドヴァ、私は少しそれをアンパックしようとします.しかし、私が再帰が何であるかについて話す前に、私はあなたが再帰についての私の最初のブログを読むことを勧めます.
それに落ちた?その後、再帰のあなたの最初の味を持っている!

私はこのトピックに導入されたとき、私はそれが私の好きな映画の一つにリンクするのを助けることができなかった:初め.映画は、夢の横断のこの考えを扱ったか、より具体的に、夢の中で夢の中で夢を横断するために、情報を得るために夢の中で夢を横断します.
再帰は、ループを中断するためにベースケースでいくつかの目標を達成するために自身を呼び出す関数です.類似点を見なさい?そして、多くの創始者のように、この概念は非常に最初の時間を混乱させることができます.では、例を見てみましょう.
function shootGun(sound, num) {};
ここでは2つのパラメータを取るシューティングガンと呼ばれる関数があります:銃の音を表す文字列と我々が撮影したい回数.
まず第一に、ベースケース.基本的なケースは、再帰関数を終了することです.完全なものがなければ、関数は永遠に実行され、誰もそれを望んでいる.では、それを考えましょう.私たちは、銃がトリガとして何度も発射されることを知っています.もしトリガがない場合は、銃が発射を停止します.numがこの概念を表しているので、私たちのコードは次のようになります.
if (num <= 0) {
return "";
}
これ以上のショットがないとき、アカウントの音がないので、空の文字列を返します.次に再帰的な場合です.関数がデフォルトで定義されていないため、return文が必要です.パラメータでパラメータを呼び出します.私たちの基本ケースは、私たちの関数が永遠に実行されないことを確認するためにNUMが0以下であるときにチェックするので、私たちは、その資格に達するようにNUMを減少させることを確認しなければなりません.
return shootGun(sound, num - 1);
}
わかりました.しかし、我々は何かを逃しています.今のところ、この関数はサウンドパラメータで何もしていません.関数が呼ばれるたびに、それはちょうど数を減少させるが、我々は銃が我々が火として何度も行う音を印刷したい.そのためには、我々は音を保存し、各関数呼び出しに追加する必要があります.すべてをまとめてください.
function shootGun(sound, num) {
   if (num <= 0) {
   return "";
  }
 return sound + ' ' + shootGun(sound, num - 1);
}
今私たちは、' oootin '、ガンシューティン'再帰関数を持っている!我々が音のために『Bang』と数のために『3』で機能を呼ぶならば、機能は『バンバンバン』を返します!そして、より複雑な再帰的な機能を構築するとき、私がたくさん助けてくれた知識を伝えます.あなたのベースケースが結論に達するのに十分徹底的である限り、あなたのコードで遊んで、何が再発することができるかについて見てください.
うまくいけば、これは何が再発であるかについて少しの光を流したのを助けました、そして、私の非常に最初のブログを読んでくれてありがとう!