I feel stupid too! I like the trick of using list* to match _ on any number of trailing elements. The grammar given in the docs doesn't seem to include it; I'm curious by what rule is it "allowed" as a pattern?
On Wednesday, December 4, 2019 at 5:02:48 PM UTC-6, Sorawee Porncharoenwase wrote: > > This is super cool indeed. Now I feel stupid. > > On Wed, Dec 4, 2019 at 2:56 PM Matthew Butterick <m...@mbtype.com > <javascript:>> wrote: > >> >> On Dec 4, 2019, at 2:39 PM, 'Joel Dueck' via Racket Users < >> racket...@googlegroups.com <javascript:>> wrote: >> >> So it seems easy to match "*at least *N identical elements". >> But is there a method for matching "*no more than *N identical elements"? >> >> >> ? >> >> >> #lang racket >> (require rackunit) >> >> (define (super-cool? lst) >> (match lst >> [(and (list* _ ... a a _) >> (not (list* _ ... a a a _))) #t] >> [_ #f])) >> >> (check-true (super-cool? '(1 1 4))) >> (check-false (super-cool? '(1 1 1 4))) >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Racket Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to racket...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/racket-users/1734093C-0C39-4289-9747-41CAFB35851F%40mbtype.com >> >> <https://groups.google.com/d/msgid/racket-users/1734093C-0C39-4289-9747-41CAFB35851F%40mbtype.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/bde135bd-a69a-4c8d-8093-dbea6c9c93b9%40googlegroups.com.