1
다음 코드 패턴과 일치하는 방법을 무엇
...복잡한/다중 라인 hlint 규칙을 작성하는 방법은 무엇입니까?
do
x <- createModel a b
case x of
Left e -> throwM $ ValidationErrors e
Right y -> ...
... 다음과 같은 교체를 제안한다
withThrow $ createModel a b
I 시도한 다음,하지만이 작동하지 않습니다
hint: {lhs: "do {x <- createModel v w; case x of Left e -> throwM $ ValidationErrors e}", rhs: "withThrow $ createModel v w"}
성공하더라도, 매우 구체적으로 보입니다. – dfeuer
너무 구체적으로 보인다고 동의합니다. 당신이 찾고있는 패턴은'Left' 브랜치에서'throwM'과'Either' 패턴 매칭이라고 생각합니다. 또한'ValidTerow'가'ValidationErrors'에서만 작동한다면'withThrow'도 특이한 것처럼 보입니다. – Cirdec
별개로, 당신은 케이스 표현의 일부 *와 일치하는 행운이 없을 것이라고 생각합니다. 어떻게 든 다른 지점을 언급해야 할 것 같습니다. 하지만 나는 HLint 규칙을 작성한 적이 없으므로 확실하지 않습니다. – dfeuer