私は最近ラケットパターンマッチングシステムで遊んで始めました。私は理解できない問題に遭遇しました。ラケットの構造タイプ上のKleeneスターとのパターン一致
私が行う場合は、次のREPLで
(match (list 1 2 3 4 5 6 7 8 9 10 11 12)
[(list _ x y z ...) (list y ': x)])
は私が私の望ましい結果として
'(3 : 2)
を取得します。
私が行う場合:
(match (current-date)
[(date* _ x y z ...) (list y ': x)])
または
(match (date* 5 18 13 18 11 2011 5 321 #f 3600 0 "W. Europe Standard Time")
[(date* _ x y z ...) (list y ': x)])
を私はこのエラーを取得:
match: wrong number for fields for structure date*: expected 12 but got 5 in: (_ x y z ...)
私はクリーネスター...
は、いくつかのための構造体型で動作しないと思われます理由。それはなぜそうですか?
1あなたの答えは、実際にははるかに便利私よりあります。 :-) – ruakh
@ruakhあなたの答えは*なぜ*動作しません。この回答は、それを動作させる方法を説明しています。両方ともかなり役に立ちます。 –
はい、どちらも参考になります。ありがとう。 – mentus