두 가지 인수를 어떻게 한 가지 변호 서명이있는 메소드로 전달할 수 있습니까?
-
07-07-2019 - |
문제
s = Proc.new {|x|x*2}
def one_arg(x)
puts yield(x)
end
one_arg(5, &s)
어떻게 one_arg
알고 있습니다 &s
?
해결책
그만큼 &
연산자는 Proc를 블록으로 바꾸므로 블록이있는 1 개의 반대 방법이됩니다 (호출됩니다. yield
). 당신이 중단했다면 &
Proc를 직접 통과 시켰으므로 오류가 발생했을 것입니다.
제휴하지 않습니다 StackOverflow