Sha256: af0ff899a863c64d0aaa70192c9149eb9b25da90b2fc6dd3e649811ec168820d
Contents?: true
Size: 1.53 KB
Versions: 1
Compression:
Stored size: 1.53 KB
Contents
# Addy Allows pretty summations. Instead of writing: (1..5).inject(0) do |memo, num| memo + (num**num) end You write: sum(1..5) do |num| num**num end Personally, I would rather write the latter. ## Usage Install the gem: gem install addy Then use it! require 'addy' class MyClass #include it in a class or in Object to get it everywhere include Addy def my_awesome_adder(range) sum(range) end end ### Calling It You can call either sum or summation. They're aliases for the same thing. When you pass a block to sum it will execute the block on the current number before adding it to the sum. sum(1..5) {|num| num + 1} #=> 20 You don't have to pass a block though! #this sum(1..5) #=> 15 #is equivalent to sum(1..5) {|num| num} #=> 15 ### Input Ranges and numeric arrays both work well. sum(1..5) #=> 15 sum([1,2,3,4,5]) #=> 15 ## Note on Patches/Pull Requests * Fork the project. * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. ## Copyright Copyright (c) 2010 Allen Madsen. See LICENSE for details. ## PS: Isn't it ridiculous how much documentation I wrote for one function?
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
addy-1.0.0 | README.md |