3
최근 루비의 Proc
에 대해 친구와 토론하고있었습니다. 여러 가지 방법 중 하나로 Proc
에 전화 할 수 있습니다. 한 가지 방법은 Proc.call
를 호출하는 것입니다Proc.call 대 Proc. [] 사용과 관련된 Ruby 우선 순위 문제가 있습니까?
p = Proc.new { |x| "hello, #{x}" }
p.call "Bob"
=> "hello, Bob"
또 다른 괄호를 사용하는 것입니다, Proc.[]
:
p ["Bob"]
=> "hello, Bob"
은 잠재적 우선 순위 문제는 여기에 있는가, 또는이 두 문장은 완전히 교환 할 수있다? 그렇지 않은 경우 다른 결과가 제공되는 상황의 예를 제공 할 수 있습니까?
흠 ... 그건 내가 뭘하고있는 건지 잘 모르겠다. 이것은'.call (x) .call'과'.call x.call' 사이의 차이점을 나타내며'.call'과'[] '와는 다릅니다. –
@ John Feminella, 차이를보기 위해'p [ "John"] [ "Barry"]'시도해보십시오. 어쩌면 에이단 (Aidan)은 그의 대답에 그것을 더하고 싶을 것이다. –
@Wayne Conrad - 감사합니다. 저는이를 바탕으로 새로운 예를 도입했습니다. –