aboutsummaryrefslogtreecommitdiff
path: root/ruby/step3_env.rb
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-04-10 22:24:58 -0500
committerJoel Martin <github@martintribe.org>2014-04-10 22:24:58 -0500
commit8bf53bec72d27d7d895b39812ffae1e990425158 (patch)
treea658f2900b9ceff44522780b3d5c28afb1abf0e2 /ruby/step3_env.rb
parentb5f469de182a3e95b2d968ddccf2e2f9b77a3dc2 (diff)
downloadmal-8bf53bec72d27d7d895b39812ffae1e990425158.tar.gz
mal-8bf53bec72d27d7d895b39812ffae1e990425158.zip
Ruby: step4_if_fn_do with core functions.
Diffstat (limited to 'ruby/step3_env.rb')
-rw-r--r--ruby/step3_env.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/ruby/step3_env.rb b/ruby/step3_env.rb
index 97be81d..9d1c373 100644
--- a/ruby/step3_env.rb
+++ b/ruby/step3_env.rb
@@ -31,12 +31,13 @@ def EVAL(ast, env)
# apply list
a0,a1,a2,a3 = ast
case a0
- when :"def!"
+ when :def!
return env.set(a1, EVAL(a2, env))
when :"let*"
let_env = Env.new(env)
-
- a1.each_slice(2) {|a,e| let_env.set(a, EVAL(e, let_env))}
+ a1.each_slice(2) do |a,e|
+ let_env.set(a, EVAL(e, let_env))
+ end
return EVAL(a2, let_env)
else
el = eval_ast(ast, env)