From 7ac16ca74e55142bcb79e8bb4790c08229a3892a Mon Sep 17 00:00:00 2001 From: vonhyou Date: Thu, 15 Apr 2021 00:55:05 +0800 Subject: [PATCH] add methods --- prol.rb | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/prol.rb b/prol.rb index c7df1b7..5e8db31 100644 --- a/prol.rb +++ b/prol.rb @@ -55,16 +55,16 @@ module Lisp scope.merge op => ->(*args) { args.inject(&op) } end end - # @global_env.merge { - # 'min' : ->(*args) { args.min }, - # 'max' : ->(*args) { args.max }, - # 'car' : ->(arr) { arr[0] }, - # 'cdr' : ->(arr) { arr[1..-1] }, - # 'cons' : ->(arr) { arr }, - # 'quote' : ->(arr) { arr }, - # 'print' : ->(arg) { p arg }, - # 'begin' : ->(*_args) { true } - # } + mtds = { 'min': ->(arr) { arr.min }, + 'max': ->(arr) { arr.max }, + 'car': ->(arr) { arr[0] }, + 'cdr': ->(arr) { arr[1..-1] }, + 'cons': ->(arr) { arr }, + 'quote': ->(*args) { args }, + 'print': ->(arg) { p arg }, + 'begin': ->(*_args) { true } + } + @global_env.merge mtds end ##### Lisp Eval