Sono un po 'confuso leggendo la definizione tra i due. Possono realmente intersecarsi in termini di definizione? o sono completamente perso? Grazie.Qual è la differenza tra una monade e una chiusura?
risposta
Le chiusure, visto che la parola tende ad essere usata, sono solo funzioni (o blocchi di codice, se ti piace) che puoi trattare come un dato e passare ad altre funzioni, ecc. (il bit "chiuso" è che ovunque tu lo chiami, si comporta come se lo chiamassi dove era stato originariamente definito). Una monade è (più o meno) più simile a un contesto in cui le funzioni possono essere concatenate in sequenza e controlla il modo in cui i dati vengono passati da una funzione all'altra.
Sono piuttosto diversi, anche se le monadi spesso utilizzanochiusure per catturare la logica.
Personalmente, proverei a diventare solido sulla definizione di chiusure (essenzialmente un pezzo di logica che cattura anche il suo ambiente, cioè le variabili locali ecc.) Prima di preoccuparmi delle monadi. Possono venire più tardi :)
Ci sono varie domande sulle chiusure su Stack Overflow: il migliore per aiutarti a dipendere dalla piattaforma su cui stai lavorando. Per esempio, c'è:
Personalmente sono solo iniziando a "Grok" monadi (grazie al libro che sto aiutando a). Un giorno andrò a scrivere un articolo su di loro, quando sentirò che li capisco abbastanza bene :)
Jon- Mi piace moltissimo questa parte della tua risposta- "Un giorno andrò a scrivere un articolo su di loro, quando sento di capirli abbastanza bene :)" Continua così! Buona fortuna! –
Un "chiusura" è un oggetto che comprende 1) una funzione e 2) i valori delle sue variabili libere dove è costruito.
A "monade" è una classe di funzioni che possono essere composti in un certo modo, cioè utilizzare sia associato bind e ritorno operatori funzione di ordine superiore, per la produzione di altre funzioni.
Penso che le monadi siano un po 'più complicate delle chiusure perché le chiusure sono solo blocchi di codice che ricordano qualcosa dal punto delle loro definizioni e le monadi sono un costrutto per "torcere" la solita operazione di composizione delle funzioni.
Questo mi aiuta, grazie mille !!! – user63657
Bello - questa è una delle migliori descrizioni rapide delle monadi che ho visto. –
+1 - Molto bello, davvero. Grazie. – duffymo