Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
14
Task/Call-a-function/Ruby/call-a-function-8.rb
Normal file
14
Task/Call-a-function/Ruby/call-a-function-8.rb
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
class Array
|
||||
def sum(init=0, &blk)
|
||||
if blk
|
||||
inject(init){|s, n| s + blk.call(n)}
|
||||
else
|
||||
inject(init){|s, n| s + n}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
ary = [1,2,3,4,5]
|
||||
p ary.sum #=> 15
|
||||
p ary.sum(''){|n| (-n).to_s} #=> "-1-2-3-4-5"
|
||||
p (ary.sum do |n| n * n end) #=> 55
|
||||
Loading…
Add table
Add a link
Reference in a new issue