我正在尝试使用match-lambda进行一些相当复杂的模式匹配。但是,我在破解模式和匹配的语法方面遇到了很多麻烦,而谷歌搜索还没有找到任何合适的参考文献。
似乎应该很简单的一件事就是使用这种模式匹配字符串'(PARAMS:(y)):
(`(PARAMS: (,<arg>))
<match>
但它不起作用。
模式:
(`(PARAMS: ,<arg>)
`<match>
匹配'(PARAMS:y),但我真的希望能够将我匹配的参数放在括号中。
奇怪的是,模式:
(`(PARAMS: (y))
`<match>
甚至不匹配'(参数:(y))。似乎有一些关于括号的东西,我不明白。
答案 0 :(得分:0)
尝试发布一个小型完整程序。这对我来说很好:
#lang racket
(match `(PARAMS: (y))
[`(PARAMS: (,var)) 'yep]
[otherise 'nope])
==&GT;
'yep
(另外,参见上述问题的评论)