괄호없이 다음과 같이 Enumerable#reduce(sym)
을 호출 할 수없는 이유는 무엇입니까?Enumerable # reduce를 호출 할 때 나는 실제로 무엇을하고 있습니까?
>> [1, 2, 3].reduce :+
?>
괄호이 결과를 사용하는 동안 :
>> [1, 2, 3].reduce(:+)
=> 6
내가 실수로 대신 Enumerable#reduce {| memo, obj | block }
를 호출하는 건가요?
왜 이런 일이 발생합니까?
>> [1, 2, 3].reduce &:+
?> ^C
>> [1, 2, 3].reduce(&:+)
=> 6
감사합니다.
+1 나는 Pry 같은 것이 있다는 것을 몰랐습니다. 또한 파일에서 확인하지도 않았습니다. 감사! – cyang
참고 : 원래는'res = [1, 2, 3] .reduce : +; p res'를 예로 들겠지만, IRb가 잘 처리 할 수 있다는 것이 밝혀졌습니다. 오류를 일으키는 개행이 필요합니다. –
이전에'res = [1, 2, 3]. reduce : +;'를 시도했지만'?>'프롬프트를 보냈습니다. 나는'p res'를 타이핑하려고하지 않았다. – cyang