2011-07-12 27 views
12

Nếu tôi có một phương pháp như:Làm cách nào để truyền một mảng tới một phương thức chấp nhận một thuộc tính với toán tử splat?

def sum *numbers 
    numbers.inject{|sum, number| sum += number} 
end 

Làm cách nào tôi có thể chuyển mảng thành số?

ruby-1.9.2-p180 :044 > sum 1,2,3 #=> 6 
ruby-1.9.2-p180 :045 > sum([1,2,3]) #=> [1, 2, 3] 

Lưu ý rằng tôi không thể thay đổi phương thức tổng hợp để chấp nhận một mảng.

Trả lời

22

Chỉ cần đặt một biểu tượng khi gọi phương thức?

sum(*[1,2,3]) 
4

Ý của bạn là gì?

sum(*[1,2,3]) 

@Dogbert là lần đầu tiên

Các vấn đề liên quan