Press "Enter" to skip to content

Haskell – Baby’s first functions – FunFunFunction #36


buon lunedì mattina sono mpj e questo è
fun fun function questa è una serie in cui
impariamo insieme Haskell
Non conosco Haskell, lo stiamo imparando
dal libro ti imparo un Haskell
c’è un link ad esso nella descrizione
di seguito se ci si imbatte in questo
video che potresti voler vedere
episodi dall’inizio facendo clic
ci sarà in questo episodio che cercheremo
in un segmento del libro chiamato baby’s
prime funzioni collegate nell’episodio
descrizione questo segmento di apprendimento
il tuo libro Haskell parla della definizione
funzioni e questo è come lo fai
raddoppialo x uguale a x più x ora abbiamo
una funzione e posso chiamare il doppio di me 5
e questo ci darà 10 che stiamo imparando
qualcuno nei commenti si è lamentato
su di me usare molta carta nel mio
episodi così in onore di quella persona io
comprato questi enormi foglietti e questi
enormi penne comunque hai la funzione
nome qui e questo è il parametro e
questo è il corpo di una funzione che sto per fare
copia questo e bam, l’ho appena salvato come a
file chiamato baby age come e in base a
il libro è così che lo carichi così è
come: io e poi baby non ce la faremo
fallo perché è pazzo che voglio
scrivi il carico ok compilando main potrebbe essere
età come moduli interpretati e ok
caricato principale cosa non intendevo io
non ho definito main dovunque, forse
questa è una modalità predefinita, se lo sai
anche nei commenti
penso che ora possiamo chiamare il
funzione sì non sono intellisense
con la scheda è abbastanza bello quindi
posso chiamare doppio significa X e ottengo 12
funziona con sì sì
il prossimo libro vuole che facciamo un
la funzione ha chiamato il doppio di noi e sta per succedere
prendere due argomenti x e y = x
volte
ai nostri più due volte e al libro
solo non quello che voglio spazi che caricherò
bambino di nuovo e che chiameremo raddoppiare noi
tre sette che sono venti forse okay
sì, fidati di Haskell no
non sorprende che tu possa chiamare il tuo
funzioni all’interno di altre funzioni
quindi posso andare a raddoppiare X e doppio singhiozzo
doppio doppio
Non posso nascondere il doppio di me e posso farlo
quindi vedi che io non ritorno qui e
ecco questa è la stessa cosa che sono
soffiando la tua mente qui, ma scherzi a parte
questo è un buon esempio di a
modello che vedrai usare a
lotto in Haskell che combina più funzioni
specificamente facendo funzioni di base
sono ovviamente corretti e combinandoli
in funzioni più complesse e lo facciamo
questo al fine di evitare ripetizioni questo
non è un nuovo concetto di vecchia programmazione
abitudine linguistica ma perché Haskell lo è
talmente assurdo, basta guardarlo
permette diventa sorta di sovraccarico in
Haskell solo per darvi un’idea
quanto poco sintassi si richiede in
Haskell per definire una funzione sono solo
andrò a implementare questo link rapido
Java, quindi stai per scrivere un pubblico
Clausola perché ha bisogno di tutto in Java
per essere una classe la mia matematica utilizza Lalala e io
anche come il vuoto statico pubblico sa
finirà la mia bolla me ed è
int e prenderà X che sta per
essere punto e restituirà X plus
X in modo da guardare in quel
questo lo farò per un po ‘
così lo vedi
questo è 88 caratteri e questo è dire
uno a 18 caratteri quindi tempo di sintassi Java
è quattrocentoottanta percento in alta
scuole e anatre e ricorda che entrambi
di questi sono linguaggi tipizzati staticamente
in JavaScript questo sarebbe un doppio
double me ax X plus X e tu avresti
per dire costanti bene o forse bar a
sii gentile se avessi detto che sì questi
come guardare quanto è più breve JavaScript
di Java si potrebbe avere detto che
ci sono tutti i tipi di informazioni sulla digitazione
qui che aggiunge la sicurezza ma nel
Caso Haskell Haskell ha effettivamente un
sistema di tipo statico forte come Java
fa la differenza è che Haskell in
prima queste cose per noi, quindi non lo facciamo
devi dichiararli esplicitamente come noi
devo fare in Java e sì il tuo popolo I
sappi che questo confronto ha diversi
problemi ma ho bisogno di chiarire il punto
che Haskell ha una funzione molto bassa
in alto ciò che intendo è quello
è molto più economico creare una funzione in
Haskell rispetto alla maggior parte delle altre lingue
collegato a questo voglio menzionare
un altro episodio che ho fatto sulla freccia
funziona in JavaScript perché penso
che c’è un sacco di Haskell nel
le funzioni freccia in JavaScript che puoi
controlla quell’episodio fortunato lì
ma stiamo facendo Haskell qui, quindi facciamolo
elimina questo Java e JavaScript tu
non posso tornare ad Haskell a proposito
non importa quale ordine si definisce
queste funzioni così posso prendere questo qui
e posso spostarlo qui e posso caricare
baby di nuovo e posso chiamare il doppio di noi vii
cosa significa questo errore anche dire
Interactive 9 1 errore nessuna istanza per
mostra una freccia 0
una serie derivante dall’uso della stampa
forse non hai applicato una funzione a
abbastanza argomento oh aspetta un attimo aspetta un
minuto oh è stato davvero utile
sette otto e mezza ho appena chiamato con
sette qui e dovevo chiamarlo con
sette e otto perché ben ha
due argomenti ma il punto che ero
andando a fare è stato anche se noi
definire doppio come qui possiamo fare riferimento
raddoppialo in questa funzione anche qui
sebbene ciò sia definito sulla seconda linea ora
daremo un’occhiata a if-then-else
quindi scriveremo una funzione chiamata
doppio numero piccolo che sta per se
il numero che gli diamo è più piccolo
di 100 lo raddoppierà molto
utile quindi prenderà il numero a
l’argomento X il numero X e se X
è più di 100 va solo allora
non ritorno X altrimenti sarà x
due volte , cariciamolo e noi siamo
andando chiamare il numero di piccole e ci accingiamo
per dire 101 tornerà 101
perché non è un numero piccolo ma se
chiamiamo il doppio numero piccolo diciamo 7
sta andando a raddoppiare in modo che hai visto
un se / altro prima di una cosa sottile in
Haskell è che il resto è obbligatoria esso
semplicemente deve restituire qualcosa non c’è
non in JavaScript, ad esempio, potresti
basta omettere il resto in modo da poter fare a
funzione doppio numero piccolo in
JavaScript e io più come se il numero
X è inferiore a 100 potrei tornare con il tuo
vicino a Richard x due volte
e se non fosse qui, sarebbe giusto
passare alla riga successiva e che sarebbe tornato
indefinito che potrebbe essere un brutto
sorpresa per la persona che usa il
funzione doppio numero piccolo quindi se
JavaScript era Haskell il compilatore
ti avrebbe costretto a fare qualcosa
in questo modo ho intenzione di eliminare questo
codice javascript dal modo in cui è possibile
scrivi questo su una riga è per mostrarti
quello è che è perfettamente
possibile più piccolo numero 714 ancora
funziona ma si divide in più linee
Penso che sia carino il libro
parla del fatto che si tratta di un
espressione quindi cosa è un’espressione ah
vediamo esempi di espressioni così an
espressione è semplicemente un pezzo di codice
che sarebbe trasforma un valore tale 5 è un
espressione che cambierà il valore 4
più 8 è un’espressione X plus y
è anche un’espressione e ora questo
è anche un’espressione perché così sarà
restituire sempre un valore è per questo che tu
bisogno del resto perché se non avesse
altrimenti questo non sarebbe davvero un
espressione che non tornerebbe sempre
valore questo è anche il luogo in cui i genitori entrano
diciamo che abbiamo voluto aggiungere 1 al
valore che abbiamo raddoppiato, cariciamolo
oops
Sto analizzando errore perché sì questo questo
non sta bene, cancelliamo tutto questo
è caricato di nuovo bene e chiamo
doppio numero piccolo 6
quello è 13 lo raddoppia e poi aggiunge
1 ma se ho chiamato il doppio numero piccolo
101 ci aspettiamo che questo sia 102 o vogliamo
questo per essere 102 ma è ancora 101
perché in realtà sta valutando come
questo giusto se X è 100 sta andando a
tornare X o altro sta andando a
x volte 2 più 1 quindi se si desidera aggiungere
l’ uno o l’altro dobbiamo aggiungere amici
ecco e questo è ciò che rende questo a
singola espressione usiamo i parens per
denota che questa è un’espressione nel
libro suggeriscono di aggiungere questo al
nome della funzione questo è un po ‘funky per me
Mi piacerebbe che lo caricasse e poi
chiami il doppio numero piccolo e questo è
non è un personaggio speciale in Haskell è
una cosa completamente valida da avere in a
nome della funzione, ma il modo in cui ho capito
è che tendi ad aggiungerli quando
hai una funzione che è leggermente
versione modificata di qualcosa così in questo
caso immagino che lo aggiungiamo perché tu
so che si sta raddoppiando il piccolo numero
tipo di quasi se non lo faccio abbastanza
capire la necessità di questa convenzione

se hai una visione di questo per favore
commentare in basso
ma in entrambi i casi sono come si potrebbe
fare Conan O Brien
e e dovrebbe funzionare correttamente dovrebbe
si noti qui che non possiamo farlo io
pensaci se so che ne ricevo
strano errore hanno appena costruttore Conan
O’Brien non ha scopo, quindi le funzioni lo sono
per tipo di iniziare con una lettera maiuscola
il libro dice che parlerà
perché dopo e credo che lo sarà
fare con questi costruttori di dati forse
e dovremmo anche considerare il fatto
questo non ha alcuna funzione
parametri questa è una funzione che è
proprio questa espressione questo
una funzione che sarà sempre restituire questo
stringa Sammy Conan O’Brien al
Parte JavaScript del mio cervello sembra a
molto simile a una variabile o immagino di esserlo
costante perché non è possibile
ridefinirlo così presumo quello in Haskell
forse non si utilizzano le costanti a tutti voi
basta usare queste funzioni che sono definite
ai valori in Haskell funziona così
funzione detta non prendere alcun parametro
sono indicati come definizioni o
a volte li chiami solo i nomi
Rubino parte del mio cervello è una specie di disegno a
parallelo ai simboli
Sono sicuro che se questo è corretto che è il
fine di noi leggendo o imparando il bambino
primi segmenti di funzioni del libro
impara un Haskell se vuoi provare
questo da solo c’è un link nel
descrizione per questo esatto segmento di
impareremo che hai chiesto il libro la prossima volta
ci occuperemo in elenchi da non perdere
che hai appena visto un episodio di
funzione fun fun I lo rilascerò tutti
Lunedì mattina se ti è piaciuto questo episodio
dovresti cliccare sul canale qui sotto e
controlla se ci sono altri episodi
che ti piace e che ci sarà e
quindi dovresti iscriverti
Sono mvj fino al prossimo lunedì mattina grazie
tu
Please follow and like us: