Python实现Scheme

Python实现Scheme

https://github.com/zhangyun00...

ZhScheme新功能需求,欢迎同学阅读并提交代码 :)

一、set一次定义多个变量

要求,能一次定义多个变量:

(set (a b) (12 34))  

等价于

(set a 12)  

(set b 34)

需要修改eval函数中251行;

        elif x[0] == 'set':   
        
下的代码。

二、函数返回值

Lisp、Scheme中的函数似乎不能直接return。

我们可以通过为所执行函数外层的变量赋值来当作返回值。

(set sum 0 )
(define (fun x y) (set sum (+ x y) ) )
(print sum)

以上sum变量起到返回值的作用 --- 在函数体内,你可以使用任意上层/外层定义的变量。

 

以上是 Python实现Scheme 的全部内容, 来源链接: utcz.com/a/165197.html

回到顶部