lib/lisp/interpreter/core/object.rb in lisp-interpreter-0.5.3 vs lib/lisp/interpreter/core/object.rb in lisp-interpreter-0.5.4

- old
+ new

@@ -2,11 +2,11 @@ require 'bigdecimal' # Object class class Object def number? - match(/\A[-+]?[0-9]*\.?[0-9]+\Z/) + match(/^[\+\-]?\d*\.?\d+(?:[Ee][\+\-]?\d+)?$/) end def to_num return to_f if to_s.include? '.' to_i @@ -43,9 +43,13 @@ end def type fns = %w[list pair string number character boolean quote] fns.each { |t| return '<' + t + '>' if send t + '?' } + end + + def to_char + '#\\' + (self == ' ' ? 'space' : self) end private def object_split