La corrispondenza del motivo è una delle caratteristiche Haskell più eleganti.Seq di corrispondenza del modello in Haskell
Recentemente ho lavorato a un progetto in cui ho bisogno di una struttura dati di coda, quindi sto utilizzando Data.Sequence. Tuttavia, sembra che devo rinunciare all'eleganza di pattern matching e ricorrere a guardie:
floodFillWorker :: Image -> RGBAColor -> Double -> PixelQueue -> Image
floodFillWorker image base tolerance queue
| Seq.null queue = image
| otherwise = doSomeWork image
Posso usare il pattern matching con le sequenze o devo usare le guardie?
Grazie! Posso usarlo anche per il pattern-match per il front e il resto, come farei con un elenco? ad es. floodFillWorker _ _ _ (first: rest) = .... – Bill
Stavo considerando di farlo notare, ma sembrava che OP non volesse davvero decostruire la sequenza qui. Ma se funziona, allora va bene. – ephemient
Siamo spiacenti, la mia domanda iniziale era solo a metà specificata. Grazie per il chiarimento! – Bill