问答

Python实现Scheme

作者:admin 2021-08-20 我要评论

https://github.com/zhangyun00... ZhScheme新功能需求,欢迎同学阅读并提交代码?:) 一、set一次定义多个变量 要求,能一次定义多个变量: (set (a b) (12 34)) ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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变量起到返回值的作用 --- 在函数体内,你可以使用任意上层/外层定义的变量。

?

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 使用箭头函数return数据不能实现

    使用箭头函数return数据不能实现

  • 个人小程序号能接入小程序3D地图吗?

    个人小程序号能接入小程序3D地图吗?

  • vue 移动端项目中,使用了better-scrol

    vue 移动端项目中,使用了better-scrol

  • css如何做出区域平均划分为四列

    css如何做出区域平均划分为四列

腾讯云代理商
海外云服务器