![]() |
1
26
在球拍中你可以使用
以及相关的事情,比如
它适用于列表、向量、结构等。对于多个值,您可以使用
或
|
![]() |
2
8
赤裸裸的成语是 应用 具有 兰姆达 你会用到的地方 让 ,例如:
其优点是它可以在任何实现上工作。当然,这只能用于简单的情况,但有时这就是你所需要的。 |
![]() |
3
7
你要找的东西(至少在Lisp世界里)的通用术语是 解构 实现它的宏称为 解构绑定 . 在Common Lisp中,它的工作方式如下:
它也适用于多个“级别”的嵌套:
好像有一个 nice implementation 将bind作为scheme宏进行解构。 |
![]() |
4
4
|
![]() |
5
0
如果你不想把
从列表中:
或者直接从值表达式:
|
|
6
0
这里有一个简单的
下面是激发我编写此宏的示例。将默认值放在主体之前可以使代码可读:
以下是计算不同方案中长度为9的排列的基准:
转换为GHC Haskell比Chez方案快5倍。诡计比这些计划都慢得多。
除了利用现有的便利性之外
|