numbers
def sum(first, *rest)
rest.inject(first) { |o, x| o + x }
end
> sum(1) # first = 1, rest = []
1
> sum(1, 2) # first = 1, rest = [2]
3
> sum(1, 2, 3) # first = 1, rest = [2, 3]
6
def sum(*numbers)
numbers.inject { |o, x| o + x }
end
strings
def full_name(first, *rest)
rest.inject(first) { |o, x| o + " " + x }
end
full_name("renata", "marques")
=> "renata marques"
def full_name(*names)
names.join(" ")
end
full_name("renata", "marques")
=> "renata marques"