Array trouble
Author |
Message |
Clayton
|
Posted: Fri Oct 27, 2006 7:26 pm Post subject: Array trouble |
|
|
i have a function called add, and from wtd's tutorial, it should be able to take any number of integers and form them into an array, however, it doesnt seem to be working right. my code:
Ruby: |
def add(*integers)
total = 0
integers.each do |array_element|
total += integers(array_element)
end
return total
end
puts "#{add(1,2,3,4,5,6,7,8,9)}"
|
I keep getting an error on line 3 and I don't know why (I think it has something to do with "integers" but i dont know for sure.) |
|
|
|
|
|
Sponsor Sponsor
|
|
|
wtd
|
Posted: Fri Oct 27, 2006 9:55 pm Post subject: (No subject) |
|
|
In your function, "integers" is an Array.
When you use "each" it passes each element of the Array to the block in turn.
code: | def sum(*integers)
total = 0
integers.each { |integer| total += integer }
total
end |
But then, you really should...
code: | class Array
def sum
inject(0) { |a, b| a + b }
end
end |
code: | [1, 2, 3, 4].sum # => 10 |
|
|
|
|
|
|
|
|