Functional Ruby Fu!

2013-05-15

For some strange reason I keep forgetting ruby folding functions. So for my future self…

Reject

[1, 2, 3, 4, 5].reject {|x| x%2==0}
=> [1, 3, 5]

Select

[1, 2, 3, 4, 5].select {|x| x%2==0}
=> [2, 4]

Collect

[1, 2, 3, 4, 5].collect {|x| x*2}
=> [2, 4, 6, 8, 10]

Inject

sum = 0
[1, 2, 3, 4, 5].inject {|sum, x| sum + x}
=> 15

Now I will never forget!

back