Ruby를 처음 접하고이 메소드에서 여러 개의 Splat 인수를 허용하려는 문제가 발생했습니다. 내가 왜 컴파일 오류를 내고 있는지 이해할 수 있다고 생각하지만, 어떻게 해결해야할지 모르겠다. 인수에 여러 개의 표시를 사용하는 방법에 대한 도움이 도움이 될 것입니다. 여기에 대한 안내를 주셔서 미리 감사드립니다. 플랫 인수를 사용Ruby 1.9.2 - 복수 표시 인수 문제
def find_max_expenses(salary, save_prcnt, *pre_ret_g_rates, *post_ret_g_rates, epsilon)
years = pre_ret_g_rates.count
savings = nest_egg_variable(salary, save_prcnt, pre_ret_g_rates)
savings = savings[-1]
low = 0
high = savings
expenses = (low + high)/2
# can use the [-1] at the end is equivalent to the code below
remaining_money = post_retirement(savings, post_ret_g_rates, expenses) #[-1]
remaining_money = remaining_money[-1]
while remaining_money > epsilon # the value we want to stay above
if remaining_money > 0
low = expenses
else
high = expenses
end
expenses = (high + low)/2
remaining_money = post_retirement(savings, post_ret_g_rates, expenses)
p remaining_money = remaining_money[-1]
end
p expenses
end
find_max_expenses(10000, 10, [3, 4, 5, 0, 3], [10, 5, 0, 5, 1], 0.01)
splat 인수에 일반 인수 (예 : *를 제거하면 코드가 지금 사용하는 방식대로 완벽하게 작동해야합니다. 배열로 메서드를 호출하면 splat 인수가 필요하지 않습니다. 또한 첫 번째 끝과 다른 끝이 시작될 때를 결정할 방법이 없기 때문에 두 개의 표시 인수는 의미가 없습니다. – gnab