lambda参数

时间:2017-06-13 12:34:49

标签: racket

This SO answer在其代码段中使用以下语法:

(lambda (template . ids)
  ...)

据我了解,点符号是等价于cons的中缀,允许创建值对。但是在这种情况下我无法理解它。这是一种模式匹配一​​对的方法,例如在OCaml中可能吗?

1 个答案:

答案 0 :(得分:1)

这似乎是一种将函数的​​参数视为列表的方法,正如我们在REPL中看到的那样:

> ((lambda (a . b) a) 1 2 3)
1
> ((lambda (a . b) b) 1 2 3)
'(2 3)