【发布时间】:2017-06-13 12:34:48
【问题描述】:
This SO answer 在其代码 sn-p 中使用以下语法:
(lambda (template . ids)
...)
据我了解,点符号是cons 的中缀等价物,并允许创建值对。但是在这种情况下我无法理解。它是一种模式匹配一对的方法,例如在 OCaml 中可能吗?
【问题讨论】:
标签: racket
This SO answer 在其代码 sn-p 中使用以下语法:
(lambda (template . ids)
...)
据我了解,点符号是cons 的中缀等价物,并允许创建值对。但是在这种情况下我无法理解。它是一种模式匹配一对的方法,例如在 OCaml 中可能吗?
【问题讨论】:
标签: racket
这似乎是一种将函数的参数视为列表的方法,正如我们在 REPL 中看到的那样:
> ((lambda (a . b) a) 1 2 3)
1
> ((lambda (a . b) b) 1 2 3)
'(2 3)
【讨论】: