Bir durum ifadesinde birçok farklı kurucularla eşleştirmeye çalışıyorum. Basitlik için, vakaların yarısında, aynı şeyi yaptığımızı ve diğer yarısında da başka bir şey yaptığımızı varsayın. Başka bir işleve mantığı çarpanlarına bile, yine de yazmak zorunda:Kasa deyim kalıpları nasıl birleştirilir
case x of
C1 -> foo x
C2 -> foo x
...
C10 -> bar x
C11 -> bar x
...
durum açıklamaları C gibi daha switch
ifadeleri davranmaya yapmak için bir yol (yani fallthrough ile), ya da ben öyle olabilir ki var mıdır Aynı anda birçok desenden birini eşleştirin:
case x of
C1, C2, C3 -> foo x
C10, C11, C12 -> bar x
Veya bunu temizlemenin başka bir yolu mu?
yaptığım bu benim kullanımı olduğu gibi 'foo' ve' bar' 'bir argüman x'. Aynı zamanda, eşdeğerli kurucuları ortak bir durumda birleştirmek için ayrı bir bölümleme işlevini kullanmanın çirkin fakat doğru cevabını da önler ('C1 -> C1, C2 -> C1, C3 -> C1' gibi ve sonra sadece' C1 'ile eşleşir) . – crockeea