higher-order-functions

    3

    1답변

    아래 예제에서 inverse 함수를 제거하고 bar을 호출 할 때 익명 함수를 직접 작성하고 싶습니다. 누구든지 올바른 구문을 제안 할 수 있습니까? 몇 가지 변형을 시도했지만 컴파일 할 수는 없습니다. object Test { def foo(p: Int => Boolean): Boolean = { def inverse(p: Int =>

    1

    2답변

    나는 Haskell 문법을 고수하려고한다. 이 문제는 논리적으로 해결하기가 매우 쉽습니다. 나는 양수와 음수의리스트를 나누어 그룹화해야한다. [1,2,3, -1, -2, -3,1,2,3]은 [[1,2, 3], [- 1, -2, -3], [1,2,3]] 나는 더 높은 차수의 함수 foldr를 사용하여 두 가지를 취하는 익명의 함수로 할 수있다. 논쟁. 이것은

    3

    2답변

    중첩 된 데이터 구조가있을 때 필자는 수동으로 코드를 작성하여이를 조사했습니다. 이처럼 : Prelude> let t f n = (iterate map f) !! n <interactive>:35:22: Occurs check: cannot construct the infinite type: b0 = [b0] Expected type:

    6

    3답변

    목록이 :: [(Foo, Bar)]이면 Bar에서 scanl1을 수행하고 싶지만 Foo "태그"는 그대로 유지하고 싶습니다. e.e. 두 번째 인수로 scanl1 카레 넘길 수 있도록 :: [(a, b)] -> ([b] -> [c]) -> [(a, c)] 형식의 함수를 싶습니다. 필자는 재귀 적으로 작성할 수 있지만,이를 수행하는 데 더 높은 순서의 함수를

    1

    5답변

    가능한 중복 역할을합니다 : Why is such a function definition not allowed in haskell? 내가 함수 인수로 함수 f 소요 flist를 만들 싶습니다 및 그 다른 함수를 반환 인수는 목록이지만 정확히 f과 동일하게 작동합니다. 예를 들어 : 목록의 길이가 3의가 어떤 방식으로 작동 할 수없는 경우 let f x1 x

    5

    2답변

    Data.Array은 Array 유형에 접기를 제공하지 않습니다. (. 12 장) 실제 세계 하스켈에서 가, 이유가 Array의 프로그래머의 필요에 따라 다른 방법으로 접혀 될 수 있다는이라고합니다 : 모든 첫째, 여러 종류가있다 폴딩은 의미가 있습니다. 우리는 여전히 하나의 요소 위로 접기를 원할 수도 있지만 행이나 열을 접을 가능성도 있습니다. 또한 한

    1

    4답변

    나는 결코 Reduce을 사용한다고 생각하지 않지만 문제가 있다고 생각합니다. 벡터의 각 반복 요소의 크기가 이전 요소보다 크거나 같은지 확인하고자합니다. sapply으로이 작업을 수행 할 수 있지만 Reduce으로 시도하면 실패합니다. Reduce에 어떻게 이것을 사용할 수 있습니까? #This works y <- c(1,2,3,2,4,4) sappl

    12

    1답변

    나는 미래 토큰의 서열을 얻으려면 Clojure의 (map future exprs) 에서 다음을 수행하려고 노력했다. 불행하게도이 오류는 future 자체가 매크로가 아니기 때문에 잘못되었습니다. map 구문을 유지하면서이 방법을 사용할 수 있습니까? 차라리 for 매크로를 사용하지 않을 것입니다 (개인 스타일의 문제와 마찬가지로). 나는 mmap 또는

    2

    2답변

    matlab에서 매핑 기능을 찾고 있습니다. kvec = 0:1:16 kvec = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 가 지금은 본질적으로 kvec의 각 값에 대해 10^-k를 계산 hvec라는 두 번째 벡터를 제작하려고 : 그래서 여기에 내가 생각하고 예이다. 우아한 방법이 있습니까? 미리 감

    2

    3답변

    내가 Marijn Haverbeke의 책 웅변 자바 스크립트를 사용하여 자바 스크립트를 공부하고 다음 예제를 이해하지 못했다에서 기능을 감소 : function reduce(combine, base, array) { forEach(array, function (element) { base = combine(base, element);