«fold» 태그된 질문

함수형 프로그래밍에서 축소, 누적 또는 변형이라고도하는 폴드는 데이터 구조에 재귀 적으로 변환을 적용하여 요약 값으로 "축소"하는 고차 함수 유형입니다.



7
폴더 대 폴더 (또는 폴더 ')의 의미
먼저, 내가 읽고있는 Real World Haskell 은 결코 사용하지 foldl않고 대신 사용 한다고 말합니다 foldl'. 그래서 나는 그것을 믿습니다. 하지만 사용하는 경우에 흐릿 해요 foldr대 foldl'. 나는 그들이 다르게 작동하는 방식의 구조를 볼 수 있지만 "어느 쪽이 더 낫다"는 것을 이해하기에는 너무 바보입니다. 둘 다 동일한 대답을 생성하기 때문에 어떤 …


4
무한 목록이있는 foldl 대 foldr 동작
이 질문 의 myAny 함수에 대한 코드 는 foldr를 사용합니다. 술어가 충족되면 무한 목록 처리를 중지합니다. foldl을 사용하여 다시 작성했습니다. myAny :: (a -> Bool) -> [a] -> Bool myAny p list = foldl step False list where step acc item = p item || acc (단계 함수에 대한 인수가 …

4
접기와 축소의 차이점은 무엇입니까?
F #을 배우려고하지만 fold 와 reduce 를 구별하려고 할 때 혼란스러워졌습니다 . 접기는 같은 일 을하는 것처럼 보이지만 추가 매개 변수를 사용합니다. 이 두 기능이 존재하는 합법적 인 이유가 있거나 다른 배경을 가진 사람들을 수용 할 수있는 이유가 있습니까? (예 : C #의 문자열 및 문자열) 다음은 샘플에서 복사 한 …

9
함수형 프로그래밍의 'fold'함수에 해당하는 'pythonic'은 무엇입니까?
Haskell에서 다음과 같은 것을 달성하는 가장 관용적 인 방법은 무엇입니까? foldl (+) 0 [1,2,3,4,5] --> 15 또는 Ruby에서 이에 상응하는 것 : [1,2,3,4,5].inject(0) {|m,x| m + x} #> 15 분명히 파이썬은 reduce위와 똑같이 폴드 구현 인 함수를 제공 하지만, 프로그래밍의 'pythonic'방식은 가능한 경우 lambda목록 이해를 선호하는 용어와 고차 함수 를 …

4
fold-left 사용시기와 fold-right 사용시기를 어떻게 알 수 있습니까?
fold-left는 왼쪽으로 기울어 진 나무를 생성하고 fold-right는 오른쪽으로 기울어 진 나무를 생성한다는 것을 알고 있지만, 폴드를 위해 손을 뻗으면 어떤 종류의 폴드를 결정하려고 노력하는 동안 두통을 유발하는 생각에 빠지는 경우가 있습니다. 적절합니다. 나는 일반적으로 전체 문제를 풀고 내 문제에 적용되는 접기 기능의 구현을 단계별로 진행합니다. 그래서 제가 알고 싶은 것은 …


9
foldr를 사용하여 foldl 작성
에서 실제 세계 하스켈 에 제 4 장 기능 프로그래밍 : foldr로 foldl 작성 : -- file: ch04/Fold.hs myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl f z xs = foldr step id xs z where step x g a = g (f a …

3
이 단어 기능을 접은 후 후 처리 단계없이 구현할 수 있습니까?
인쇄물의 Real World Haskell, 4 장, 98 페이지에서words 접기를 사용하여 구현할 수 있는지 묻습니다 . 가능합니까? 그렇지 않다면 왜? 그렇다면 어떻게? 나는 다음과 같이 생각해 냈습니다. 각 비 공백은 출력 목록의 마지막 단어 앞에 붙어야하고 ( otherwise가드 에서 발생합니다 ) 공란에 emtpy 단어를 추가해야합니다. 출력 목록이 이미 (이은으로 처리가없는 경우 …

3
이와 같은 폴더 정의를 작성하려면 어떤 지식이나 훈련이 필요합니까? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 6 개월 전 . 최근에는 실제 사례 제작 시스템에서 Haskell을 사용하려고합니다. Haskell 타입 시스템은 정말 큰 도움을줍니다. 예를 들어, 유형의 기능이 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.