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