class CreamCheese::Knife
Public Class Methods
spread(list, size=list.length, spacer=nil)
click to toggle source
# File lib/CreamCheese.rb, line 3 def self.spread(list, size=list.length, spacer=nil) length = list.length spaces = size - length spaces_each = spaces / length spaces = spaces % length merge = [] list.each_with_index do |item, i| if item != :SPREAD_SPACER spaces_this = spaces_each if spaces > 0 spaces_this += 1 spaces -= 1 end (0..spaces_this-1).each do list.insert(i+1, :SPREAD_SPACER) end end end list.map {|item| item == :SPREAD_SPACER ? spacer : item} end