패턴 일치는 Haskell의 가장 우아한 기능 중 하나입니다.Haskell의 패턴 일치 Seq 's
저는 최근에 Data.Sequence를 사용하기 위해 대기열 데이터 구조가 필요한 프로젝트에서 작업 해 왔습니다.
floodFillWorker :: Image -> RGBAColor -> Double -> PixelQueue -> Image
floodFillWorker image base tolerance queue
| Seq.null queue = image
| otherwise = doSomeWork image
나는 순서와 일치하는 패턴을 사용하거나 내가 가드를 사용해야하나요 : 나는 패턴 매칭의 우아함을 포기하고 경비에 의지해야처럼 그러나, 그것은 보인다?
고마워요! 목록과 마찬가지로 앞면과 나머지 부분에도 패턴 일치를 사용할 수 있습니까? 예 : floodFillWorker _ _ _ (first : rest) = .... – Bill
나는이를 지적하려고 생각했으나 OP가 실제로 여기의 시퀀스를 해체하기를 원하지 않는 것처럼 보였다. 그러나 그것이 효과가 있다면, 이것은 좋은 것입니다. – ephemient
죄송합니다, 원래 질문은 절반으로 지정되었습니다. 명확히 해 주셔서 감사합니다! – Bill