2
내가 구성 목록과 같은 역할을하는 부울 값이있는 목록과 일부 기능이있는 목록이 있고 크기가 동일하다고 가정 해 보겠습니다.Scalaz를 사용하는 부울 목록으로 필터 목록
val conf = List(true, false, true)
val funcs = List(f1, f2, f3)
는 그리고 병합하여, 그 결과는해야 다음과 같습니다
val res = List(f1, f3)
나는이 Scalaz에서 실용적 빌더와 함께 할 수 있다는 것을 확신합니다.
'(A, B) .zipped.collect {경우 (a, b)는이 => B 경우}'많이 보인다 좋네. – sschaef
@sschaef 동의하지 않습니다. 필자의 코드에서는 메소드 애플리케이션의 플랫 플로우 (flat flow) 일 뿐이며, 각각 하나의 원시 연산 만 수행한다. 또한 당신은'O (n^2)'를 가지고있는 동안 그것은'O (n)'복잡성을 가지고 있습니다. –
가치가있는 부분에 대해 @sschaef는 그의 스 니펫 **이 멋지다고 생각합니다. 당신이 언급하는 "평탄함"은 일반적으로 흥미로운 속성이 될 수 있지만, 여기서는 매우 관련이 있는지 의심 스럽습니다 (정교하게 의견을 말하십시오). 반면에 런타임 복잡성은 매우 중요 할 수 있습니다. 그러나이 측면은 대개 코드가 보이는 방식과는 독립적입니다. –