Warray
A simple weighted array implementation.
Installation
Add this line to your application's Gemfile:
gem 'warray'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install warray
Usage
require 'warray'
# Take an array with values and weight
c=%w(apple 60% orange 30% peach 10%)
# Initialize a Warray object
w = Warray.new(c)
# Build an array with weighted items
puts w.build.to_s
=> ["apple", "apple", "apple", "apple", "apple", "apple", "orange", "orange", "orange", "peach"]
# Warray object size
puts w.size # or w.length
=> 3
# Warray object summarized weight
puts w.wsum
=> 100
# An another example
b=%w(girl 3 boy 5)
w = Warray.new(b)
# you can also use common array methods on the builded array
puts w.build.sample(5).to_s
=> ["boy", "girl", "boy", "girl", "boy"]
puts w.build.sort.to_s
=> ["boy", "boy", "girl", "girl", "girl"]
Contributing
- Fork it ( https://github.com/gabulyaz/warray/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
License
MIT License, Copyright (c) 2015 Zoltan Gabulya