Press "Enter" to skip to content

Recursion – Part 7 of Functional Programming in JavaScript


ciao in questo video che stiamo andando a
conoscere la ricerca che stiamo andando a
conoscere ciò che la ricorsione è come fare
e perché è utile questo video è
anche parte di una serie otterrai molto
più di questo video se ne hai
guardato i precedenti episodi in questo
prima le serie le puoi trovare lì così
cos’è la ricorsione della ricorsione quando a
la funzione chiama se stessa fino a quando non lo fa
quello è seriamente tutta la ricorsione è
la ricorsione è quando una funzione chiama
se stesso fino a quando un sacco di gente pensa
la ricorsione è difficile e la ragione è questa
la gente pensa che la ricorsione sia dura
questo a causa di qualche follia collettiva
tutte le spiegazioni di ricorsione sul
internet usa i numeri di Fibonacci come un
esempio l’unica ragione e non
il matematico avrebbe sentito parlare
I numeri di Fibonacci sono se lo fossero
ho visto la serie televisiva franare quando
qualcuno cerca di spiegare la ricorsione a
stai usando i numeri di Fibonacci che devi
uccidili, lo so che sembra difficile
perché potrebbero essere tuoi amici
e loro significano solo bene ma
devono morire lasciami attirare la tua attenzione
al codice che implementeremo
questo conto alla rovescia dovrebbe scendere
in questo caso, il conto alla rovescia va da 10
la ricerca dovrebbe solo produrre 10 9 8 e
quindi così via fino a
una tappa la implementeremo
usando la ricorsione sto per iniziare
dichiarando che la funzione lascia il conto alla rovescia
da fissare il nostro membro e c’è il
funziona questo sei script ECMO sei tu
potrebbe guardare questo dal vicino
futuro dove questo è completamente normale
a voi in tempo corrente ne ho avuto un po ‘
il pubblico chiede di scrivere cose in a
coma script 5 invece normalmente ascolto
al feedback del pubblico perché ti amo
ragazzi
ma perché ti amo ragazzi non lo farò
ascoltare questo perché ti amo
voglio farti pressione per diventare migliore
questa è una situazione in cui non andrò
è stato facile per te lo script 6 di Eckman
finalizzato per oltre un anno ora è il momento
entrare nella sua davvero semplice se tu
basta usare bobble e gab installato g4
ascensore musica oh boo boo boo boo boo
Boop ha completato la compensazione e ora puoi correre
esempio di nodo orribile ansante va bene così
non fa uscire Duncan lasciami oh così tanto tempo
questa è la mia stringa standard per l’output run
quello di nuovo e dobbiamo così veloce
Il ruolo del corso intensivo di sei script di Eggman è
solo la nuova barra che dovresti sempre usare
a sinistra invece delle funzioni della freccia del granaio è
solo una funzione di sintassi cerchio più breve è
cool ma facciamo invece uscire il numero
corri che va bene così 10 per il conto alla rovescia da
è una funzione che accetta un numero e
inizia il conto alla rovescia da e quello è
contato
a contare che stai prendendo un numero
dillo allora prendi quel numero tu
appena detto meno uno e tu lo dici e
così via fino a quando non vieni così
ora – una corsa che per questo vi ringrazio
computer per il conto alla rovescia al meno
15.000 se torniamo indietro
infinito okay yeah da qualche parte qui ah
sì qui così vedi che funziona ma
non abbiamo alcuna condizione di arresto siamo
sistemerò quello, ma voglio disegnare il tuo
attenzione a una piccola cosa che chiama qui
alla massima dimensione dello stack di chiamate ha superato il
stack di chiamate è la pila di funzioni
chiama che il tuo codice è stato creato e inserito
la maggior parte delle programmazioni non funzionali
lingue c’è un limite massimo per come
lontano puoi andare alla programmazione funzionale
il linguaggio non ha mai avuto questo limite
perché usi la ricorsione per tutto
e quindi puoi avere questo limite
javascript ha questa limitazione in ACMA
script 5 ma è stato rimosso in Atma
script 6 anche se Bobble non può
simularlo perché è una cosa del motore
ed è per questo che l’atmosfera 6 è così
interessante da un funzionale
prospettiva di programmazione perché
rimuove uno dei principali limiti a
facendo programmazione funzionale con
JavaScript questa funzionalità è chiamata coda
chiamare l’ottimizzazione a proposito perché
è questa grande coda di chiamate di funzione
aggiungiamo la condizione di stop se num 1 0
ritorno
giusto così passa solo attraverso il tempo 10 9
8 7 3 2 1 e quando si blocca 1 qui
e qui procederà a questa linea
e quindi richiederà il numero 1 meno 1
e passerà 0 nel contatore da
che va in questo questo è 0 ora lo faremo
vedi quello e ritornerà e così esso
non andrà a 0 e meno 1 e meno 2
e così via fino a 60 meno 15.000 e
quella è la ricorsione una funzione che chiama
se stesso fino a quando non ci darà fuoco
ho imparato cos’è la ricorsione e a
semplice esempio di come farlo ma ancora
non è chiaro perché guardare l’esempio
che abbiamo appena fatto ciò che potevamo avere
fatto questo con solo un ciclo a destra e sì
potresti avere
ogni volta che fai un ciclo puoi usare
la ricorsione invece non funziona
viceversa perché lì
non sono cose che la ricorsione può fare
i loop non possono essere usati per la prima volta
la ricorsione è stata quando ho incontrato un
problema che sembrava un po ‘come
questo quindi abbiamo avuto un database relazionale
database che aveva queste categorie così
C’erano le categorie migliori come questa
categoria animali qui e la cima
categorie non hanno avuto un genitore che
tutti hanno detto no in root categorie sotto
gli animali ci sono categorie come
mammiferi se vedi qui che il
categoria mammiferi ha animali come
genitore e abbiamo categorie che hanno
mammiferi come genitori cani e gatti a loro volta
c’è Chihuahua Labrador che ha
cani come gatto pappagallo
anche qui i gatti persiani siamesi vedono
che questi sono gli stessi qui è Persiano
una sottocategoria di gatti in questo momento
è stato davvero bello con questo
menu gerarchici di BA dhtml che conosci
menu che funzionano in modo simile a Windows
Menu di avvio in cui si passa con il mouse su una cartella e
quando lo fai si espande in quella cartella
e poi si passa sopra una sottocartella che e
che si espande in una nuova sottocartella e così via
su così ho voluto rappresentare questo
database così come per
rappresenta che dobbiamo farcela
solo la struttura ad albero passa al dhtml
menu vogliamo un vestito che sembra
qualcosa come questo boom quindi questo è un
gli animali della struttura ad albero ne contengono un altro
albero con mammiferi qui e mammiferi
contiene un albero con due proprietà
cani e gatti e questi a loro volta hanno
Chihuahua e Labrador non lo facciamo davvero
bisogno di modi qui penso ah e da allora
non hanno sottocategorie loro
solo avere una testa, non il suo commento
sì perché questo è solo per ricordare
dove stiamo andando è a proposito a
buon trucco ogni volta che stai programmando
per sempre in modo sempre pensare a quello che
che cosa stai facendo qual è la mia fine?
obiettivo invece di iniziare a codice I
pensa uno dei più comuni e
gli errori nella programmazione devono iniziare
programmare troppo presto ci vuole un po ‘di tempo per pensare
sul tuo problema e dove sei
andare in quella vi farà risparmiare un sacco di
tempo a scorrere un po ‘e lo faremo anche noi
Farò funzionare tre categorie
oh ok ho fatto un errore nel mio esempio
data häringe dovrebbe essere un
matrice prima parentesi graffa che buona
l’errore qui rende l’albero non è un divertimento, sì, noi
devi definire la matrice, lascia che l’albero sia a
funzione indefinita
sì perché assicurati che non ritorni
qualsiasi cosa sì, ritorno da parte
restituire un oggetto vuoto così ora vogliamo
per iniziare ad assegnare le proprietà secondarie
qui vuoi creare questi animali
cosa da fare che ha bisogno di rompere questo
in una variabile in modo che possiamo manipolare noi
chiameremo questo più che richiamare
nessuna parte in modo tale da contenere le note di attesa
informatica, stiamo ottenendo il nostro
categorie da cui li stiamo ottenendo qui
come e ora stiamo andando a filtrare il
le matrici di parole gatto ah stiamo cercando
il corpo superiore alla ricerca della radice
elemento bene quindi questo sarà ora un
una matrice delle categorie che ha
genitori e no e in questo momento
sarà sarà solo questo perché ha
filtrato tutti gli altri perché
non hanno per ogni sottocategoria noi
stanno andando prendere l’ID della categoria
che in questo caso è in questo primo ciclo
stanno per essere animali qui così l’idea è qui
animali e lo assegneremo
al nodo
è la stessa cosa qui giusto è questo
ah e che ora prenderà il
sottostruttura uh e abbiamo intenzione di fare che,
chiamarti assicurati di essere ricorsivo ed è
otterrà le stesse categorie potrebbe essere
alcuni di una nuova linea, ma non è andando ottenere
lo stesso genitore otterrà c ID
Va bene corriamo che va bene che è forse
il risultato giusto è un po ‘disordinato lasciatemi
sì, questo è il miglior Tarik mai JSON
stringa e poi aggiungi come secondo
argomento della stringa cinque, scegli no e
voi due e due siete in quattro divisioni e
ora è per le cose magiche e andiamo ora noi
avere un bel albero ed è praticamente
quello che vogliamo siamo ancora qui con
gli oggetti ma non è quello
importante diamo un’occhiata a ciò che è giusto
è successo così nel primo ciclo quando noi
chiama make tree in cui stiamo passando
categorie di categorie sarà tutto
delle categorie e andiamo a filtrare
qui ho intenzione di filtrare il
quelli che hanno lo stesso genitore che è
quello che passiamo qui
ah e quella è la stessa cosa di quello che noi
passato qui così ora è un percorso ah
e per ogni categoria del genere andiamo
a per ciascuno e in questo per ciascuno
è chiaro che stiamo per firmare la proprietà
il nodo con lo stesso ID di ciascuno
categoria con animali qui puoi
assegna questo nodo animale qui con il
restituire valore a noi stessi ma questa volta
noi siamo
non come me noto come una categoria genitore noi
stanno passando negli animali qui così ora noi
stanno facendo un albero con le categorie
che hanno gli animali come approccio e loro
a sua volta tirerà make tree e make
alberi che hanno i mammiferi come genitore
categoria e a loro volta si formeranno a
albero dove fanno i gatti e i cani
alberi che includono chihuahua elaboratamente
e questo potrebbe andare avanti e avanti e avanti
ma finisce perché finisce
cose da fare freezer e ad un certo
grado si potrebbe fare questo con loop
se fai nidificare per cicli come il
il ciclo esterno for ha I come numero intero e
poi il ciclo interiore come J e tu vai
dentro e dentro e dentro finché non finisci di
consonanti o sanità mentale, ma funziona solo
se è una quantità molto limitata di nidificazione
a volte devi creare alberi
sono cento livelli di sonno e poi tu
ho potuto usare l’uso e questa è la ricorsione
ho imparato che la ricorsione è giusta
una funzione che chiama se stessa fino a che
non abbiamo visto un esempio di
come usarlo per il conto alla rovescia da dieci e
abbiamo esaminato un esempio del perché tu
bisogno di ricorsione perché non puoi risolvere
tutto loops, io sono quello che registra
è spettacolo ma è il pubblico che
fa uno spettacolo che ho bisogno di sentire da te
o agisci mpj me su twitter o su youtube
commentare in basso commento con a
riflessione o o una domanda o qualcosa
che sei confuso o qualcosa del genere
divertente o bello o quello che ti piacerebbe
prossimo episodio di essere di parlare di
che non manchi che il prossimo episodio faccia
sicuro di essere iscritto a questo canale
fallo ora o seguimi su Twitter fino al
il prossimo lunedì rimani curioso
Please follow and like us: