diff options
Diffstat (limited to 'ruby/step3_env.rb')
| -rw-r--r-- | ruby/step3_env.rb | 7 |
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) |
