标签: racket
在match中指定要匹配的多个条件的语法是什么?
match
例如类似
(match e [v #:when (and a? b?) (foo v)])
?
答案 0 :(得分:1)
最简单的写法是使用match模式(and (? a?) (? b?) v),它将检查值是否与谓词a?和b? 和将值绑定到正文中的v。您也可以通过后置条件检查#:with (and (a? v) (b? v))来执行此操作,但这通常比仅使用?模式要笨拙。
(and (? a?) (? b?) v)
a?
b?
v
#:with (and (a? v) (b? v))
?