我如何接受以下输入?
(list of 0 or more charcters and ends with 3) or
(list of 1 or more characters 4 and 0 or more characters after 4)
类似
(match ( list 3)) -> #t
(match ( list 1 2 3)) -> #t
(match (list 1 2 3 4)) -> #t
(match (list 1 2 3 4 5)) -> #t
(match (list 4)) -> #f
编辑:这不是我的家庭作业。我试着用PAIP写一些像ELIZA的东西,但我只知道如何写一个以单词开头的模式。
答案 0 :(得分:3)
你提到了字符,但是在你的例子中使用了数字。我在这里使用数字,但切换到字符是微不足道的。
(require scheme/match)
(define satisfies
(match-lambda
[(list (? number?) ... 3) #t]
[(list (? number?) ..1 4 (? number?) ...) #t]
[_ #f]))