【发布时间】:2012-02-27 11:10:31
【问题描述】:
我想知道是否可以在 Racket 中编写一个宏来翻译各种形式的形状 (c(a|d)+r xs),其中 c(a|d)+r 是匹配汽车的正则表达式,cdr , caar, cadr, ... 等,变成 first 和 rest 的对应组成。
例如,此宏应采用 (caadr '(1 2 3 4 5)) 并将其转换为 (first (first (rest '(1 2 3 4 5))))。
Shen(Mark Tarver 的新编程语言)中的类似内容:https://groups.google.com/group/qilang/browse_thread/thread/131eda1cf60d9094?hl=en
【问题讨论】: