class Keisan::Functions::Sample

Public Class Methods

new() click to toggle source
# File lib/keisan/functions/sample.rb, line 4
def initialize
  @name = "sample"
  @arity = ::Range.new(1, 2)
end

Public Instance Methods

call(context, *args) click to toggle source

Single argument: list to sample element from Double argument: list and number of elements to sample

# File lib/keisan/functions/sample.rb, line 11
def call(context, *args)
  case args.size
  when 1
    args.first.sample(random: context.random)
  when 2
    args[0].sample(args[1], random: context.random)
  else
    raise Exceptions::InvalidFunctionError.new
  end
end