首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语法-规则语法

语法-规则语法
EN

Stack Overflow用户
提问于 2013-09-20 00:25:37
回答 1查看 230关注 0票数 1

我一直在研究用于定义语法规则的语法,但是我仍然被困住了。

我想用这个签名来定义一个规则:(定义-语法-规则(用于{val in lst}返回res)。

基本上,它只是应用地图,给定一个val和一个lst。但我很难理解语法。这就是我到目前为止想出来的..。……(语法-rules () (用于val in lst) (map (val Lst)

输入的内容如下:

(对于{val '(0 1 2 3 4)}返回(- val 1) )

和输出(-1 0 1 2 3),就像在列表中调用了map一样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-20 01:27:44

这件事完成了:

代码语言:javascript
复制
(define-syntax for
  (syntax-rules (in return)
    ((for val in list return exp)
     (map (lambda (val) exp) list))))

> (for x in '(0 1 2 3) return (- x 1))
(-1 0 1 2)

从本质上说,这正是您所描述的。您需要将inreturn声明为文本。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18907082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档