浏览代码

Display quoted values in repl

master
Dylan Baker 6 年前
父节点
当前提交
39369d9375
共有 2 个文件被更改,包括 7 次插入1 次删除
  1. 1
    1
      lib/chervil/ast/quotation.rb
  2. 6
    0
      lib/chervil/repl.rb

+ 1
- 1
lib/chervil/ast/quotation.rb 查看文件

8
 
8
 
9
     def evaluate(env)
9
     def evaluate(env)
10
       if @value.is_a?(List)
10
       if @value.is_a?(List)
11
-        @value.elements
11
+        self
12
       else
12
       else
13
         @value.evaluate(env)
13
         @value.evaluate(env)
14
       end
14
       end

+ 6
- 0
lib/chervil/repl.rb 查看文件

12
         '#f'
12
         '#f'
13
       when AST::Function
13
       when AST::Function
14
         "<function: #{obj.name.name}(#{obj.params.map(&:name).join(' ')})>"
14
         "<function: #{obj.name.name}(#{obj.params.map(&:name).join(' ')})>"
15
+      when AST::Number
16
+        display(obj.value)
17
+      when AST::List
18
+        "(#{obj.elements.map { |el| display(el) }.join(' ')})"
19
+      when AST::Quotation
20
+        "\'#{display(obj.value)}"
15
       when Float
21
       when Float
16
         if obj.floor.to_f == obj
22
         if obj.floor.to_f == obj
17
           obj.to_i
23
           obj.to_i

正在加载...
取消
保存