Y a-t-il des explications « simples » de ce procs et lambdas sont en Ruby?
-
20-09-2019 - |
Question
Y a-t-il des explications "simples" de ce procs et lambdas sont en Ruby?
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