class Mathmas::Power
@args = [3, 2] -> 3^2
Public Instance Methods
exec(args)
click to toggle source
Calls superclass method
Mathmas::Expression#exec
# File lib/mathmas/core/expression.rb, line 102 def exec(args) super(args).inject(:**) end
to_s()
click to toggle source
# File lib/mathmas/core/expression.rb, line 79 def to_s arr = @args.map do |arg| str = arg.to_s (arg.is_a?(Mathmas::Expression) ? "(" + str + ")" : str) end arr.join("^") end
to_tex(numerator = Number.new(1))
click to toggle source
TODO: display root when args.is_a? Rational
# File lib/mathmas/core/expression.rb, line 88 def to_tex(numerator = Number.new(1)) strs = @args.map do |arg| str = arg.to_tex (arg.is_a?(Mathmas::Expression) ? "(" + str + ")" : str) end if @args[1].is_a?(Number) && @args[1].num < 0 denominator = (@args[1].num == -1 ? strs[0] : strs[0] + "^" + (-@args[1].num).to_s) "\\frac{#{ numerator.to_tex }}{#{ denominator }}" else strs.join("^") end end