Question

Je suis un peu confus lecture de la définition entre les deux. Peuvent-ils réellement recouper en termes de définition? ou suis-je complètement perdu? Merci.

Était-ce utile?

La solution

Closures, comme le mot tend à être utilisé, ne sont que des fonctions (ou des blocs de code, si vous le souhaitez) que vous pouvez traiter comme un morceau de données et les transmettre à d'autres fonctions, etc. (le bit « fermé » est que partout où vous avez fini par l'appeler, il se comporte comme il le ferait si vous l'avez appelé où il a été défini à l'origine). Une monade est (approximativement) ressemble plus à un contexte dans lequel les fonctions peuvent être enchaînées de façon séquentielle, et contrôle la façon dont les données sont transmises d'une fonction à l'autre.

Autres conseils

Ils sont tout à fait différents, bien que monades souvent utiliser fermetures pour capturer la logique.

Personnellement, je voudrais essayer d'obtenir solide sur la définition des fermetures (essentiellement un morceau de logique qui capte aussi son environnement, à savoir les variables locales, etc.) avant de se soucier de monades. Ils peuvent venir plus tard:)

Il existe différentes questions concernant les fermetures sur Stack Overflow - le meilleur pour vous aider dépendra de ce que la plate-forme sur laquelle vous travaillez. Par exemple, il y a:

Personnellement, je commence seulement à « grok » monades (grâce au livre que je aide sur). Un jour, je vais contourner à écrire un article sur eux, quand je sens que je les comprends assez bien:)

A « fermeture » est un objet comprenant: 1) une fonction, et 2) les valeurs de ses variables libres où il est construit.

A « monade » est une classe de fonctions qui peuvent être composées d'une certaine manière, à savoir en utilisant associé bind et retour opérateurs de fonction d'ordre supérieur, pour produire d'autres fonctions.

Je pense que monades sont un peu plus compliqué que les fermetures parce que les fermetures ne sont que des blocs de code qui se rappellent quelque chose du point de leurs définitions et monades sont une construction pour « tordre » l'opération de composition de fonction habituelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top