class Lisp::Number

Public Class Methods

new(n = 0) click to toggle source
# File lib/rubylisp/number.rb, line 9
def initialize(n = 0)
  @value = n
end
with_value(n) click to toggle source
# File lib/rubylisp/number.rb, line 5
def self.with_value(n)
  self.new(n)
end

Public Instance Methods

eqv?(sexpr) click to toggle source
# File lib/rubylisp/number.rb, line 45
def eqv?(sexpr)
  return false unless sexpr.number?
  @value == sexpr.value
end
false?() click to toggle source
# File lib/rubylisp/number.rb, line 62
def false?
  @value == 0
end
float?() click to toggle source
# File lib/rubylisp/number.rb, line 25
def float?
  !@value.integer?
end
integer() click to toggle source
# File lib/rubylisp/number.rb, line 29
def integer
  @value.to_i
end
integer?() click to toggle source
# File lib/rubylisp/number.rb, line 21
def integer?
  @value.integer?
end
negative?() click to toggle source
# File lib/rubylisp/number.rb, line 41
def negative?
  @value < 0
end
number?() click to toggle source
# File lib/rubylisp/number.rb, line 17
def number?
  true
end
positive?() click to toggle source
# File lib/rubylisp/number.rb, line 33
def positive?
  @value > 0
end
set!(n) click to toggle source
# File lib/rubylisp/number.rb, line 13
def set!(n)
  @value = n
end
to_s() click to toggle source
# File lib/rubylisp/number.rb, line 54
def to_s
  "#{@value}"
end
true?() click to toggle source
# File lib/rubylisp/number.rb, line 58
def true?
  @value != 0
end
type() click to toggle source
# File lib/rubylisp/number.rb, line 50
def type
  :number
end
zero?() click to toggle source
# File lib/rubylisp/number.rb, line 37
def zero?
  @value == 0
end