2011-02-27 39 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 

(也,你的問題參見評論,以上)