# File lib/util.rb, line 26 def argfind each { |e| x = yield(e); return x if x } nil end
# File lib/util.rb, line 6 def count_of(&b); select(&b).size end
# File lib/util.rb, line 31 def group_by inject({}) do |groups, element| (groups[yield(element)] ||= []) << element groups end end
# File lib/util.rb, line 20 def map_with_index # sigh... ret = [] each_with_index { |e, i| ret << yield(e, i) } ret end
# File lib/util.rb, line 7 def max_of(&b); map(&b).max end
# File lib/util.rb, line 8 def min_of(&b); map(&b).min end