最初のページのすべてのリンクを訪問し、各リンクにアクセスし、すべての2番目のページのリンクを訪問することを意味する深さの最初のWebスパイダーを構築する...ウェブスパイダーを構築するときに、再帰を使用する必要がありますか?
再帰を使用する必要がありますか?私はこれがCPU集約的であることがわかります。
def recursion()
linkz_on_first_page.each do |link|
recursion(link)
end
end
recursion(firstpage)
スタックを呼び出すと、それらは適切に閉じられます。 – pgh
私はその質問に従うかどうか分からない。 私が "コールスタック"と言うとき、私は関数呼び出しスタックを参照しています。これは、ほとんどの言語(Rubyを含む)がどの関数が呼び出されたかを追跡するために使用します。このスタックは有限のサイズ(通常は数千のメソッド呼び出しレイヤーのための空間)です。したがって、深い再帰を行っていると、スタック領域が不足します。 これは、通常の非再帰関数によってアクセスされる通常の「スタック」とは異なります。それはうまくいくでしょう。 – madlep