瀏覽代碼

Fix compiler bug when trying to access full argument list

Matt Coles 9 年之前
父節點
當前提交
5ddee93319
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 1 1
      compiler.js
  2. 2 0
      examples/fizzbuzz.mc

+ 1 - 1
compiler.js

406
       return '{ value: \'' + node.value + '\' }'
406
       return '{ value: \'' + node.value + '\' }'
407
       break
407
       break
408
     case 'ArgvLiteral':
408
     case 'ArgvLiteral':
409
-      if (node.value === 0) {
409
+      if (node.value === '0') {
410
         return '{ value: process.argv.slice(2).join(\' \') }'
410
         return '{ value: process.argv.slice(2).join(\' \') }'
411
       } else {
411
       } else {
412
         return '_.__get_arg(' + (+node.value+1) + ')'
412
         return '_.__get_arg(' + (+node.value+1) + ')'

+ 2 - 0
examples/fizzbuzz.mc

11
   )
11
   )
12
 1)
12
 1)
13
 
13
 
14
+(log {0})
15
+
14
 (if (eq {1} "")
16
 (if (eq {1} "")
15
   (fizzbuzz 25) | (fizzbuzz {1}))
17
   (fizzbuzz 25) | (fizzbuzz {1}))