class AsciiMath::AST::SubSup

Public Class Methods

new(e, sub, sup) click to toggle source
Calls superclass method AsciiMath::AST::InnerNode::new
# File lib/asciimath/ast.rb, line 184
def initialize(e, sub, sup)
  super()
  add(e)
  add(sub || Empty.new)
  add(sup || Empty.new)
end

Public Instance Methods

==(o) click to toggle source
# File lib/asciimath/ast.rb, line 219
def ==(o)
  o.class == self.class && o.base_expression == base_expression && o.sub_expression == sub_expression && o.sup_expression == sup_expression
end
base_expression() click to toggle source
# File lib/asciimath/ast.rb, line 191
def base_expression
  child_nodes[0]
end
sub_expression() click to toggle source
# File lib/asciimath/ast.rb, line 195
def sub_expression
  child = child_nodes[1]
  child.is_a?(Empty) ? nil : child
end
sup_expression() click to toggle source
# File lib/asciimath/ast.rb, line 200
def sup_expression
  child = child_nodes[2]
  child.is_a?(Empty) ? nil : child
end
to_s() click to toggle source
# File lib/asciimath/ast.rb, line 205
def to_s
  s = ""
  s << base_expression.to_s
  sub = sub_expression
  if sub
    s << "_" << sub.to_s
  end
  sup = sup_expression
  if sup
    s << "^" << sup.to_s
  end
  s
end