각 메소드의 사용법이 동일하고 동일한 출력을내는 Ruby를 배워 나가는 동안 Ruby가 어떻게되는지 궁금합니다. (그리고 내 자신의 함수에서 어떻게 만들 수 있는지 궁금합니다.)Ruby : 오버로드 수율 함수
my_array = [["hello","goodbye"],["picture","perfect"]]
my_array.each do |array|
puts array[0] + " " + array[1]
end
my_array.each do |first, second|
puts first + " " + second
end
내 이해 코드 블록을 허용하는 방법에 대한 정의를 기록 할 때, 항복 방법은 코드 블록에 대한 인수를 전달하고 블록을 호출하는데 이용된다는 것이다. 그렇다면 yield 메소드를 어떻게 활용하여 제공된 코드 블록에 따라 다른 인수를 전달할 수 있습니까? 예제에서 yield 메소드는 두 개의 매개 변수 (즉, first, second)가 블록 내에서 사용될 때 개별 배열 요소를 전달하고 블록 내에서 하나의 매개 변수가 사용될 때 배열 자체를 전달합니다 (즉, array).
@RoneyMichael 내가 틀렸다면 정정 해주세요. 그러나 나는 그것이 해결책이라고 생각하지 않습니다. splat 연산자는 인수가 아닌 매개 변수와 함께 사용됩니다. 그리고 제 질문은 제가 항복 선언문을 구조화하는 방법과 제가 그들에게 전달한 논증에 관한 것입니다. – voltair
아 맞다! 내 잘못이야. –