내 자신의 연습 문제를 제공하고 있으며 foldr을 사용하여 특정 기준과 일치하는 목록의 왼쪽에서 첫 번째 항목을 찾는 방법이 있는지 궁금하십니까? 재귀가 첫 항목이 발견되면 멈추고 싶습니다. (아마도 take을 사용하여 결합 할 수 있습니다.) 그러나 단지 사용하는 것이 가능한지 궁금합니다. foldr? firstFind (\x -> x > 1000) [
나는 FP in Scala을 읽습니다. 연습 3.10에서는 foldRight이 오버플로됩니다 (아래 이미지 참조). 내가 아는 한, 하스켈의 foldr은 그렇지 않습니다. http://www.haskell.org/haskellwiki/ -- if the list is empty, the result is the initial value z; else
--
나는, 즉 더 복잡 foldr 문, 함수 2 개 매개 변수를 사람, 및과 /와에 문제가있어, 그러나 foldr (+) 0 [1,2,3]
같은 간단한 foldr 문을 이해합니다. 아무도 이러한 대답을 얻기 위해 발생하는 단계를 설명 할 수 있습니까? foldr (\x y -> (x+y)*2) 2 [1,3] = 22
foldr (/) 2 [8,12,24
Sequence = ["1","2","4","5"]과 같은 목록에 요소가있는 시퀀스를 반복해야합니다. Sequence에서만 계산할 수있는 9 개의 목록을 준비해야합니다. 나는 다음 foldl 있습니다. Accumulators = {[], [], [], [], [], [], [], [], []},
ReturnedTup = lists:foldl(fun(Seq
TraversableOnce은 var result 인 foldLeft을 구현합니다. def foldLeft[B](z: B)(op: (B, A) => B): B = {
var result = z
this foreach (x => result = op(result, x))
result
}
나는 foldLeft을 재귀 적으로 구현
we can define other higher order functions such as map, filter and reverse에 의해 reduce/foldl1을 사용할 수 있음을 알 수 있습니다. (defn mapl [f coll]
(reduce (fn [r x] (conj r (f x)))
[] coll))
(defn fi
에 추가 사용 계획 에서 I는 다음과 같이 찾을 수 있습니다 APPEND의 개념을 "추가"하는 방법을 알아 내려고 시도 : 을 ----- 1 부 :의 개념을 이해 스키마에 추가 ----- 1) append는 두 개 이상의 목록을 취하여 모든 요소가 포함 된 새 목록을 만듭니다. 2) append는 인수가 목록이어야하며 해당 요소가 해당 목록의 요소 인 목록