module Enumerable

Enumerable

Enumerable

Enumerable

Public Instance Methods

if_else_map(predicate, proc_t, proc_f) click to toggle source

Example

[*1..4].if_else_map(:odd?.to_proc,->(odd){'奇数'},->(even){'偶数'}) # => ['奇数','偶数','奇数','偶数']
# File lib/open_classes/enumerable/if_else_map.rb, line 9
def if_else_map(predicate, proc_t, proc_f)
  map { |e|predicate.call(e) ? proc_t.call(e) : proc_f.call(e) }
end
kernel_send(method_name) click to toggle source

alias of map {|v|send :some_kernel_method, v}

Example

[*1..3].kernel_send:Rational # => [(1/1), (2/1), (3/1)]
# File lib/open_classes/enumerable/kernel_send.rb, line 11
def kernel_send(method_name)
  return self unless [Symbol, String].include? method_name.class
  map { |v|send method_name.to_sym, v }
end
sum() click to toggle source

alias of Enumerable#reduce(&:+)

Example

[*1..5].reduce(&:+) # => 15
[*'a'..'z'].reduce(&:+) # => 'abcdefghijklmnopqrstuvwxyz'
# File lib/open_classes/enumerable/sum.rb, line 12
def sum
  reduce(&:+)
end