diff options
| author | Joel Martin <github@martintribe.org> | 2014-04-10 22:24:58 -0500 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2014-04-10 22:24:58 -0500 |
| commit | 8bf53bec72d27d7d895b39812ffae1e990425158 (patch) | |
| tree | a658f2900b9ceff44522780b3d5c28afb1abf0e2 /ruby/step3_env.rb | |
| parent | b5f469de182a3e95b2d968ddccf2e2f9b77a3dc2 (diff) | |
| download | mal-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.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) |
