class ChemistryParadise::EquationSolver
Constants
- THIS_FORMULA
#¶ ↑
THIS_FORMULA
¶ ↑#¶ ↑
- TOKEN_TO_SPLIT_AT
#¶ ↑
TOKEN_TO_SPLIT_AT
¶ ↑#¶ ↑
Public Class Methods
Public Instance Methods
are_both_sides_equal?()
click to toggle source
#¶ ↑
are_both_sides_equal?¶ ↑
#¶ ↑
# File lib/chemistry_paradise/equation_solver.rb, line 106 def are_both_sides_equal? result = false # ======================================================================= # # We have to eliminate the '+' characters. # ======================================================================= # left = SplitMoleculeNames.new(left?.delete('+')).total? right = SplitMoleculeNames.new(right?.delete('+')).total? result = ( left == right ) return result end
ensure_that_the_token_is_correct()
click to toggle source
left?()
click to toggle source
reset()
click to toggle source
right?()
click to toggle source
run()
click to toggle source
set_input(i = '')
click to toggle source
#¶ ↑
set_input
¶ ↑
#¶ ↑
# File lib/chemistry_paradise/equation_solver.rb, line 48 def set_input(i = '') i = i.first if i.is_a? Array i = THIS_FORMULA if i.nil? i = i.to_s.dup i.strip! # ======================================================================= # # Next, we will get rid of all ' '. # ======================================================================= # i.tr!(' ','') @input = i end
split_into_components()
click to toggle source
#¶ ↑
split_into_components
¶ ↑
#¶ ↑
# File lib/chemistry_paradise/equation_solver.rb, line 86 def split_into_components @left_hand_side, @right_hand_side = @input. split(@token_to_split_at).map(&:strip) # ======================================================================= # # Ok, we now have our left side, and we have our right side. # We will next get the total content of Elements at the left # and at the right side. # ======================================================================= # p SplitMoleculeNames.new left? p SplitMoleculeNames.new right? if are_both_sides_equal? opn; e 'Both sides are now equal.' else opn; e 'Both sides are not equal.' end end