class EnumGene

Enumeration gene class

Attributes

enum_values[RW]

Public Class Methods

new(enum_values) click to toggle source
# File lib/gene.rb, line 59
def initialize(enum_values)
  unless enum_values.is_a? Array
    raise 'EnumGene initialization require an Array'
  end
  raise 'EnumGene require at least two values' unless enum_values.size > 1
  @enum_values = enum_values
end

Public Instance Methods

mutate(previous_value) click to toggle source
# File lib/gene.rb, line 71
def mutate(previous_value)
  new_value = random_allele_value
  new_value = random_allele_value while new_value == previous_value
  new_value
end
random_allele_value() click to toggle source
# File lib/gene.rb, line 67
def random_allele_value
  @enum_values[rand @enum_values.size]
end