Class: CompareNode

Inherits:
Node
  • Object
show all
Defined in:
lib/nodes/basenodes.rb

Overview

Operation Nodes

Instance Attribute Summary collapse

Attributes inherited from Node

#value

Instance Method Summary collapse

Constructor Details

#initialize(lhs, op, rhs) ⇒ CompareNode

Returns a new instance of CompareNode.



107
108
109
# File 'lib/nodes/basenodes.rb', line 107

def initialize(lhs, op, rhs)
  @lhs, @op, @rhs = lhs, op, rhs
end

Instance Attribute Details

#lhsObject

Returns the value of attribute lhs.



105
106
107
# File 'lib/nodes/basenodes.rb', line 105

def lhs
  @lhs
end

#opObject

Returns the value of attribute op.



105
106
107
# File 'lib/nodes/basenodes.rb', line 105

def op
  @op
end

#rhsObject

Returns the value of attribute rhs.



105
106
107
# File 'lib/nodes/basenodes.rb', line 105

def rhs
  @rhs
end

Instance Method Details

#evaluateObject



115
116
117
# File 'lib/nodes/basenodes.rb', line 115

def evaluate
  @value = @lhs.evaluate.send(@op, @rhs.evaluate)
end

#to_sObject



111
112
113
# File 'lib/nodes/basenodes.rb', line 111

def to_s
  "#{@lhs} #{@op} #{@rhs}"
end