Sha256: c597846e0bee67ef955885e83fb53d6c39874a5e050ed87616231fe8357c6b9c

Contents?: true

Size: 554 Bytes

Versions: 3

Compression:

Stored size: 554 Bytes

Contents

class Array
  #
  # TODO 
  # active_supportに同様のメソッドが無いかどうかの確認
  #
  def split_by(num)
    return [] if self.size < 1
    ret = [[]]
    counter = 0
    self.each do |val|
      (counter = 0;ret << []) if counter >= num
      ret[-1] << val
      counter += 1
    end
    return ret
  end
  
  if RUBY_VERSION < '1.8.7'
    def sample(count=1)
      if count == 1
        return at( rand( size ) )
      elsif count < 1
        return nil
      else
        return sort_by{rand}[0..count-1]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
kanamei-keystone-0.0.26 lib/keystone/core_ext/array.rb
kanamei-keystone-0.0.27 lib/keystone/core_ext/array.rb
keystone-0.0.29 lib/keystone/core_ext/array.rb