Class: Darwinning::Gene

Inherits:
Object
  • Object
show all
Defined in:
lib/darwinning/gene.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = "", value_range = [], invalid_values = [], units = "") ⇒ Gene

Returns a new instance of Gene.



5
6
7
8
9
10
11
# File 'lib/darwinning/gene.rb', line 5

def initialize(name = "", value_range = [], invalid_values = [], units = "")

  @name = name
  @value_range = value_range.to_a
  @invalid_values = invalid_values.to_a
  @units = units
end

Instance Attribute Details

#invalid_valuesObject

Returns the value of attribute invalid_values.



3
4
5
# File 'lib/darwinning/gene.rb', line 3

def invalid_values
  @invalid_values
end

#nameObject

Returns the value of attribute name.



3
4
5
# File 'lib/darwinning/gene.rb', line 3

def name
  @name
end

#unitsObject

Returns the value of attribute units.



3
4
5
# File 'lib/darwinning/gene.rb', line 3

def units
  @units
end

#valueObject

Returns the value of attribute value.



3
4
5
# File 'lib/darwinning/gene.rb', line 3

def value
  @value
end

#value_rangeObject

Returns the value of attribute value_range.



3
4
5
# File 'lib/darwinning/gene.rb', line 3

def value_range
  @value_range
end

Instance Method Details

#expressObject



13
14
15
# File 'lib/darwinning/gene.rb', line 13

def express
  (@value_range - @invalid_values).sample
end

#is_valid_value?(value) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/darwinning/gene.rb', line 17

def is_valid_value?(value)
  @value_range.include?(value) and not @invalid_values.include?(value)
end