This SO answer在其代码段中使用以下语法:
(lambda (template . ids)
...)
据我了解,点符号是等价于cons
的中缀,允许创建值对。但是在这种情况下我无法理解它。这是一种模式匹配一对的方法,例如在OCaml中可能吗?
答案 0 :(得分:1)
这似乎是一种将函数的参数视为列表的方法,正如我们在REPL中看到的那样:
> ((lambda (a . b) a) 1 2 3)
1
> ((lambda (a . b) b) 1 2 3)
'(2 3)