construyendo una araña web en profundidad, lo que significa que visitará todos los enlaces en la primera página, vaya a cada enlace y visite los enlaces en la segunda página ...al construir una araña web, ¿deberías usar recursión?
¿Debe usar recursion? Encuentro que es una CPU intensiva.
def recursion()
linkz_on_first_page.each do |link|
recursion(link)
end
end
recursion(firstpage)
¿qué pasa si llamo a las pilas y están cerradas adecuadamente? – pgh
No estoy seguro si sigo esa pregunta pgh. Cuando digo "call stack" me refiero a la pila de llamadas a función que la mayoría de los lenguajes (incluido Ruby) usan para rastrear a qué funciones se ha llamado y a dónde volver. Esta pila tiene un tamaño finito (normalmente espacio para unos pocos miles de capas de llamada de método), por lo que si estás realizando recursiones profundas, te quedarás sin espacio en la pila. Esto es diferente a una "pila" regular a la que se accede mediante una función regular no recursiva. Eso funcionaría bien. – madlep