Class: Simulator::Model
- Inherits:
-
Object
- Object
- Simulator::Model
- Defined in:
- lib/simulator/model.rb
Instance Attribute Summary collapse
-
#equations ⇒ Object
readonly
Returns the value of attribute equations.
-
#name ⇒ Object
Returns the value of attribute name.
Instance Method Summary collapse
- #add_equation(equation) ⇒ Object
- #add_variable(variable) ⇒ Object
- #eqtn(var_name, default_value = nil, &block) ⇒ Object
- #get_variable(name) ⇒ Object
-
#initialize(&block) ⇒ Model
constructor
A new instance of Model.
- #new_run ⇒ Object
- #var(name, default_value = nil) ⇒ Object
- #variables ⇒ Object
Constructor Details
#initialize(&block) ⇒ Model
Returns a new instance of Model.
7 8 9 10 11 |
# File 'lib/simulator/model.rb', line 7 def initialize(&block) @equations = [] @variables = {} instance_eval &block unless block.nil? end |
Instance Attribute Details
#equations ⇒ Object (readonly)
Returns the value of attribute equations.
5 6 7 |
# File 'lib/simulator/model.rb', line 5 def equations @equations end |
#name ⇒ Object
Returns the value of attribute name.
4 5 6 |
# File 'lib/simulator/model.rb', line 4 def name @name end |
Instance Method Details
#add_equation(equation) ⇒ Object
26 27 28 |
# File 'lib/simulator/model.rb', line 26 def add_equation(equation) @equations << equation end |
#add_variable(variable) ⇒ Object
29 30 31 |
# File 'lib/simulator/model.rb', line 29 def add_variable(variable) @variables[variable.name] = variable end |
#eqtn(var_name, default_value = nil, &block) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/simulator/model.rb', line 20 def eqtn(var_name, default_value = nil, &block) v = var(var_name, default_value) e = Equation.new(v, &block) add_equation e e end |
#get_variable(name) ⇒ Object
32 33 34 |
# File 'lib/simulator/model.rb', line 32 def get_variable(name) @variables[name] end |
#var(name, default_value = nil) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/simulator/model.rb', line 12 def var(name, default_value = nil) v = get_variable(name) if v.nil? v = Variable.new name, default_value add_variable v end v end |
#variables ⇒ Object
35 36 37 |
# File 'lib/simulator/model.rb', line 35 def variables @variables.values end |