루비에있는 Procs와 Lambdas가 무엇인지에 대한“간단한”설명이 있습니까?
-
20-09-2019 - |
문제
루비에있는 Procs와 Lambdas가 무엇인지에 대한 "간단한"설명이 있습니까?
해결책
Lambdas (다른 언어로도 존재하는)는 임시 기능과 같습니다.
같은 메소드를 사용할 때 Array#collect
블록을 가져갑니다 {}
, 당신은 본질적으로 해당 방법을 사용하기 위해 Lambda/Proc/Block을 만들고 있습니다.
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
제휴하지 않습니다 StackOverflow