class Array
Public Instance Methods
bsearch_index() { |cur = self| ... }
click to toggle source
# File lib/array/bsearch_index.rb, line 3 def bsearch_index return to_enum(__method__) unless block_given? from = 0 to = size - 1 satisfied = nil while from <= to do midpoint = (from + to).div(2) cur_index = midpoint result = yield(cur = self[midpoint]) case result when Numeric return cur_index if result == 0 result = result < 0 when true satisfied = cur satisfied_index = cur_index when nil, false # nothing to do else raise TypeError, "wrong argument type #{result.class} (must be numeric, true, false or nil)" end if result to = midpoint - 1 else from = midpoint + 1 end end satisfied_index end
join_code(delimiter = "")
click to toggle source
@param [Code, String] delimiter @return [Code]
# File lib/code.rb, line 151 def join_code(delimiter = "") self.reduce do |r, self_i| code << r << delimiter << self_i end or code end