Class: Lisp::System
Class Method Summary collapse
Class Method Details
.register ⇒ Object
5 6 7 8 |
# File 'lib/rubylisp/system.rb', line 5 def self.register Primitive.register("sleep") {|args, env| Lisp::System.sleep_impl(args, env) } Primitive.register("quit") {|args, env| exit() } end |
.sleep_impl(args, env) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/rubylisp/system.rb', line 11 def self.sleep_impl(args, env) return Lisp::Debug.process_error("sleep needs 1 argument", env) if args.length != 1 arg = args.car.evaluate(env) return Lisp::Debug.process_error("sleep needs a numeric argument", env) unless arg.number? sleep(arg.value) end |