*()
click to toggle source
def *()
MultiSender.new(self, :map)
end
build_hash(res={}) { |x| ... }
click to toggle source
def build_hash(res={})
each do |x|
pair = block_given? ? yield(x) : x
res[pair.first] = pair.last if pair
end
res
end
drop_while() { |self| ... }
click to toggle source
def drop_while
drop = 0
drop += 1 while yield(self[drop])
self[drop..-1]
end
map_and_find(not_found=nil) { |x| ... }
click to toggle source
def map_and_find(not_found=nil)
each do |x|
val = yield(x)
return val if val
end
not_found
end
map_hash(res={}) { |x| ... }
click to toggle source
def map_hash(res={})
each do |x|
v = yield x
res[x] = v
end
res
end
map_with_index(res=[]) { |x, i| ... }
click to toggle source
def map_with_index(res=[])
each_with_index {|x, i| res << yield(x, i)}
res
end
rest()
click to toggle source
def rest
self[1..-1] || []
end
take_while() { |self| ... }
click to toggle source
def take_while
take = 0
take += 1 while yield(self[take])
self[0..take-1]
end
where()
click to toggle source
def where
MultiSender.new(self, :select)
end
where_not()
click to toggle source
def where_not
MultiSender.new(self, :reject)
end