【问题标题】:Scheme: pattern matching syntaxScheme:模式匹配语法
【发布时间】:2011-07-05 11:04:38
【问题描述】:

我需要能够匹配这样的模式:

'(PARAMS (x) (lambda (y) (+ x y)))

但我能想到的最好的结果是这样的:

(match `(PARAMS (x) (lambda (y) (+ x y)))
  [`(PARAMS (,var) (lambda (,arg) (,stmt))) 'yep]
  [otherise 'nope])

==>

nope

感谢任何建议。

谢谢。

【问题讨论】:

    标签: syntax scheme pattern-matching racket


    【解决方案1】:

    不要将,stmt 放在括号内。

    (顺便说一句,所有这些问题都是特定于球拍的,所以请使用racket 标签。)

    【讨论】:

    • 谢谢。没想到是Racket我正在写一本关于 Scheme 的书并使用 Drracket。
    • 您在 DrRacket 中使用的 match 并不是所有方案实现中的标准。
    猜你喜欢
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 2016-07-21
    相关资源
    最近更新 更多