Question

Y a-t-il des explications "simples" de ce procs et lambdas sont en Ruby?

Était-ce utile?

La solution

lambdas (qui existent dans d'autres langues) sont comme des fonctions ad hoc, créé uniquement pour une utilisation simple plutôt que d'effectuer certaines actions complexes.

Lorsque vous utilisez une méthode comme Array#collect qui prend un bloc dans {}, vous créez essentiellement un lambda / proc / bloc pour que l'utilisation de cette méthode.

a = [1, 2, 3, 4]
# Using a proc that returns its argument squared
# Array#collect runs the block for each item in the array.
a.collect {|n| n**2 } # => [1, 4, 9, 16]
sq = lambda {|n| n**2 } # Storing the lambda to use it later...
sq.call 4 # => 16

Voir fonctions anonymes sur Wikipédia, et certains other SO des questions pour les nuances de lambda par rapport Proc .

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