f
함수를 값 목록에 적용하고 싶지만 함수 f
이 임의로 실패 할 수도 있습니다 (실제로는 클라우드의 서비스로 호출됩니다) .목록의 모든 값에 실패 할 수있는 함수 적용
나는 map
과 같은 것을 사용하고 싶다고 생각했지만 목록의 모든 요소에 함수를 적용하고 나중에 어떤 것이 실패하고 어떤 것이 성공했는지 알고 싶습니다.
f
의 응답 객체를 포장하고있는 나는 할 수 후 효과적으로
unzip
이후
즉, 뭔가 같은
g : (a->b) -> a -> [ b, errorBoolean]
f : a-> b
과에를 코드를 실행하십시오. map g (xs)
더 좋은 방법이 있나요? 또 다른 대안은 배열의 값을 반복 한 다음 성공적인 값을 나열한 배열과 실패를 나열한 배열을 반환하는 것입니다. 나에게 이것은 매우 일반적이어야하는 것으로 보인다. 또는 나는 특별한 가치를 되돌릴 수있다. 이 문제를 다루는 가장 좋은 방법은 무엇입니까 ?? 그렇지 않으면 Just (f x)
을 반환
f: a -> b
g: (a -> b) -> a -> Maybe b
f
가 실패 할 경우, g
반환 Nothing
:
FYI : Haskell의 목록은 동일해야합니다 (즉, 한 가지 유형 만 보유 할 수 있음). 귀하의 경우에는 튜플'(b, Bool)'을 반환해야합니다. 물론 적절한 방법은 Maybe 또는 Either를 사용하는 것입니다. – kennytm