2011-02-27 41 views
0

我正在尝试使用match-lambda做一些相当复杂的模式匹配。不过,我在解释模式和匹配的语法方面遇到了很多麻烦,谷歌搜索也没有找到像样的参考。这似乎是它应该是简单的方案:模式匹配语法

一件事是匹配字符串“(PARAMS:(Y))使用这种模式:

(`(PARAMS: (,<arg>)) 
<match> 

但它不工作。

模式:

(`(PARAMS: ,<arg>) 
`<match> 

匹配“(PARAMS:Y),但我真的很希望能够把我的括号匹配PARAMATERS。

奇怪的是,图案:

(`(PARAMS: (y)) 
`<match> 

甚至不匹配“(PARAMS:(Y))。似乎有一些关于我不明白的括号。

+0

对不起,没有意识到。 – Schemer 2011-02-27 22:15:28

+0

我之前没有注册,我不得不注册投票。但是现在我被告知我没有足够的声望来投票回答。我会继续尝试,直到我有足够的声望。 – Schemer 2011-02-27 22:58:33

+0

啊,对不起,您是在要求我点击复选标记,而不是投票选项。完成。 – Schemer 2011-02-27 23:07:02

回答

0

尝试发布一个小的完整程序。这对我来说工作得很好:

#lang racket 

(match `(PARAMS: (y)) 
    [`(PARAMS: (,var)) 'yep] 
    [otherise 'nope]) 

==>

'yep 

(也,你的问题参见评论,以上)