Press "Enter" to skip to content

Functors – FunFunFunction #10


questo è divertente fun funzione un lunedì
spettacolo mattutino dove proviamo a venire di più
entusiasta e fiducioso sulla programmazione
esplorando vecchie saggezze idee selvagge
divertirsi un sacco di persone hanno
ha richiesto un’altra programmazione funzionale
video e ho pensato di provare la mia mano
ad uno questa settimana e mi piacerebbe
parliamo di funk doors functors is
in realtà qualcosa che probabilmente sei
già usando nel tuo quotidiano
programmare la mappa e filtrare i nostri funtori
per esempio oggi stiamo andando a
esplorare ciò che rende una mappa e
filtro parte della famiglia di functor e
scriveremo anche un po ‘di divertimento
barra degli strumenti oh ma prima di farlo lo siamo
andando a fare qualche programmazione senza
i fondatori per avere un’idea del problema
che i funtori sono qui per risolvere ecco
la funzione di livello enterprise più una
questa è una funzione un po ‘stupida, ma io
sto usando un semplice esempio qui per
non distrarci dal concetto che
andremo ad esplorare immaginiamolo
il mondo reale più uno sta facendo
qualcosa di molto più complicato il
la funzione più una aggiunge solo una a
qualsiasi valore si passa ad esso ecco che
passare un tre e otteniamo un quattro
tuttavia se passiamo in una serie di
i numeri dicono 3 e 4 come faranno queste cose
naturalmente pausa ma vorremmo che lo facesse
lavorare se passiamo nell’array 3 4 lo faremmo
Mi piace come restituire l’array 4 5 così scriviamo
qualcosa di simile non c’è magia
qui solo un sacco di codice se value è un
array iteriamo sull’array e
crea un nuovo array aggiungendo 1 a ogni
numero di pausa se si vuole dare un’occhiata
ma non è così importante e questo
funziona ora otteniamo un 4/5 se inseriamo 3 per
in seguito diciamo che lo scopriamo
abbiamo bisogno di +1 per lavorare sulle stringhe in
Oltre a cancellare e numeri singoli
così se passiamo la stringa ABC
dovrebbe produrre BCD così
aggiungiamo un altro mazzo di codice da gestire
la cassa dello schermo è possibile mettere in pausa il video
se ti interessa il codice
ma è davvero solo in aumento
i caratteri non è troppo interessante il
la cosa importante da notare qui è quella
non è abbastanza fastidioso che una funzione
fa molto di più che solo più
ma funziona è grande ma funziona ma
diciamo che abbiamo anche bisogno di scrivere a
meno una funzione quindi dovremmo
duplicare questo intero shebang tra il
due funzioni o immagino che più e
meno potrebbe essere generalizzato in e io
non so la funzione aritmetica ma quando
aggiungiamo il pavimento a divisione quadrata e ogni
altra funzione matematica nel cielo lo faremmo
finire con una enorme funzione matematica generica
invece sembra che ci sia un modo per
generalizzare questa parte superiore qui il
cosa che fa la letteratura della stringa
e l’array, rispettivamente , non lo fa
sento davvero come appartiene al plus
funziona comunque e questo è dove
funtori vengono per la prima parte della
array javascript ha in realtà un built-in
functor che probabilmente sei già
familiarità con la mappa UNK questo è tutto lì
è quello di arraffare array che stai ottenendo a
senso di come i funtori nel fare le cose
la mappa più facile dovrebbe esserti familiare
il modo in cui non è andare controlla il mio
video su di te se non conosci la mappa
il resto di questo video non farà
senso come ho detto prima se hai
ha programmato JavaScript per un po ‘
probabilmente hai usato fattori
senza sapere che ne fanno parte
questa famiglia ha chiamato fattori in un minuto
parleremo di cosa sia
ciò rende il functor qualificato come parte di
la famiglia funtore, ma prima voglio
mostra un altro esempio di un tour delle funzioni
questa volta lo scriveremo
noi stessi stiamo usando la mappa di array che abbiamo
risolto l’array più encase ma
e per l’altro caso ?
corde che vanno da ABC a BC
risolveremo creando una stringa
fattore come questo questa volta lo voglio davvero
per mettere in pausa il video e prendere questo
inserire il codice per un po ‘ prima
continuando ciò che vedi nella stringa
il functor è quasi la stessa logica da
la versione grande della funzione plus 1
che abbiamo visto prima niente di strano
qui davvero passiamo in una stringa ABC
nella funzione di stringa e siamo
ottenendo un BCD fuori porta funziona
valore e la funzione FN come vedi
valore in questo caso è ABC e F n fa riferimento
al functor della stringa funzione plus 1
continua a dividere la stringa in un
l’array ha chiamato chars quindi esegue il mapping su
matrice di caratteri il parametro char che
è passato alla callback della mappa
ogni personaggio sotto forma di una stringa
con la lunghezza di uno quindi sei solo tu
conosco una stringa che è B la convertiamo
carattere a un numero e che si passa
in FM e ancora una volta FN sta per essere più
1 in questa esecuzione prendiamo quindi il
valore di ritorno di F n che è un numero
e convertire quel numero in un personaggio
mappa restituiremo una serie di questi
caratteri incrementati e quindi ci uniamo
insieme usando join perché stringa
functor ora esegue questo processo di disimballaggio
per noi tutti possiamo lasciare più 1 e meno 1
fai le loro cose
più 1 e meno 1 non hanno più bisogno di tutti
quella logica di iterazione dentro di loro
perché quel lavoro è gestito dal
i funtori sono così funtore e matematica
entrambi i funtori fungono da porte o funzioni
che assumono un valore e una funzione
il valore potrebbe essere un array nel caso di
mappa o una stringa nel caso del
fattore di stringa il funtore è responsabile
per scartare i singoli valori di
il valore in passato e poi passa
ognuno di questi nella funzione e poi
prende i valori elaborati e
crea una nuova struttura
per quei valori che ne restituisce un altro
esempio del functor sarebbe array
filtro a punti per il punto dell’array di istanza per
ognuno è simile ma non è una porta funzionale
ci vuole un valore e ci vuole un
funzione e non scartare il valore
nella sua componente e passa al
funzione ma non restituisce nulla
in una forma strutturata e questo è ciò che
non rende una funzione riassumiamo
nel contesto di JavaScript un funtore
è una funzione che quando viene assegnato un valore
e una funzione srotolerà il valore
nelle sue parti individuali nutre quelli
parti nella funzione che è stata
dato e prendere i valori di ritorno e
restituirli in una forma strutturata e
questa è una funzione che mi piacerebbe davvero
il tuo feedback su questo video ha fatto questo
darti qualsiasi cosa
Ho scelto i funtori per questo episodio
perché io non ho fatto un funzionale
video da molto tempo e c’è stato un
molte richieste per questo e soprattutto
il munna delusivo è stato tra quelli
richieste e trovato il toro è un passo avanti
il modo di comprendere le tue terre ma
il motivo per cui ho trascinato il mio
piedi con la programmazione funzionale
i video è quello da questo punto in poi
i funtori che si muovono diventano molto belli e
esasperante la definizione di funtori
quello che ti ho dato qui oggi è
corretto nel contesto di JavaScript I
pensa ma in un contesto matematico è
in realtà molto più astratto e in questo
senso non sono sicuro che ti sto dando
esattamente la cosa giusta perché sì
ottiene i functors disordinati è un concetto da a
branca della matematica fresca categoria
teoria e non sono del tutto sicuro di come
procedere con l’insegnamento in questi giorni io
significa dovremmo iniziare a imparare la categoria
teoria d’altra parte un sacco di gente
Dì che non hai bisogno di capire
teoria delle categorie al fine di comprendere
o forse le monadi sono qualcosa che noi
dovrebbe stare lontano da forse forse io
dovrebbe iniziare a fare una serie su Haskell I
penso di aver davvero bisogno del tuo feedback
questo fammi sapere i tuoi pensieri
i commenti come al solito il prossimo episodio
uscirà presto lunedì mattina GMT
tempo da non perdere Iscriviti e fino a quando
il prossimo lunedì rimani curioso
Please follow and like us: