«functional-programming» 태그된 질문

함수형 프로그래밍은 함수를 사용하여 추상화를 작성하고 부작용과 상태 변경을 피하는 프로그래밍 패러다임입니다. 순수 기능 프로그래밍은 스레드로부터 안전합니다.

9
Java SE 8에 페어 또는 튜플이 있습니까?
Java SE 8에서 게으른 기능 연산으로 놀고 있으며 두 번째 요소 를 기반으로 한 쌍 / 튜플에 map색인 i을 만들고 마지막으로 색인 만 출력 하려고합니다 .(i, value[i])filtervalue[i] 여전히이 문제를 겪어야 합니까? Java에서 C ++ Pair <L, R>에 해당하는 것은 무엇입니까? 람다와 개울의 대담한 새로운 시대에? 업데이트 : 나는 아래 답변 …



6
Java 8 스트림 API에서 계산하여 그룹화
Java 8 스트림 API에서 그룹화를 수행하는 간단한 방법을 찾으려고 노력합니다.이 복잡한 방법으로 나옵니다! List<String> list = new ArrayList<>(); list.add("Hello"); list.add("Hello"); list.add("World"); Map<String, List<String>> collect = list.stream().collect( Collectors.groupingBy(o -> o)); System.out.println(collect); List<String[]> collect2 = collect .entrySet() .stream() .map(e -> new String[] { e.getKey(), String.valueOf(e.getValue().size()) }) .collect(Collectors.toList()); collect2.forEach(o -> System.out.println(o[0] + " …



9
기능적 프로그래밍 언어와 명령형 프로그래밍 언어의 차이점은 무엇입니까?
C #, Visual Basic, C ++ 및 Java와 같은 OOP (object-oriented programming) 언어를 포함한 대부분의 주류 언어는 명령형 (프로 시추 럴) 프로그래밍을 지원하도록 설계되었지만 Haskell / gofer와 같은 언어는 순전히 기능적입니다. 이 두 프로그래밍 방식의 차이점이 무엇인지 자세히 설명 할 수 있습니까? 프로그래밍 방식을 선택하는 것은 사용자 요구 사항에 달려 …

23
Node.js에서 비동기 함수의 긴 중첩을 피하는 방법
DB의 일부 데이터를 표시하는 페이지를 만들고 싶기 때문에 DB에서 해당 데이터를 가져 오는 함수를 만들었습니다. 나는 Node.js의 초보자 일 뿐이므로 이해할 수있는 한 모든 페이지를 단일 페이지 (HTTP 응답)로 사용하려면 모두 중첩해야합니다. http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); var html = "<h1>Demo page</h1>"; getSomeDate(client, function(someData) { html += "<p>"+ …

2
zygohistomorphic prepromorphisms의 실제 응용
네, 이것들 : {-#LANGUAGE TypeOperators, RankNTypes #-} import Control.Morphism.Zygo import Control.Morphism.Prepro import Control.Morphism.Histo import Control.Functor.Algebra import Control.Functor.Extras import Control.Functor.Fix import Control.Comonad.Cofree zygohistomorphic_prepromorphism :: Functor f => Algebra f b -> GAlgebra f (ZygoT (Cofree f) b) a -> (f :~> f) -> FixF f -> a zygohistomorphic_prepromorphism f = g_prepro …

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

13
C에서 함수형 프로그래밍을위한 도구는 무엇입니까?
나는 C ( C ++가 아닌) 에서 함수형 프로그래밍을 수행하는 방법에 대해 최근 많이 생각했습니다 . 분명히 C는 절차 적 언어이며 실제로 함수형 프로그래밍을 기본적으로 지원하지 않습니다. 함수형 프로그래밍 구문을 언어에 추가하는 컴파일러 / 언어 확장이 있습니까? GCC는 중첩 함수 를 언어 확장으로 제공합니다 . 중첩 함수는 상위 스택 프레임에서 …

14
람다와 함께 JDK8을 사용하여 압축 스트림 (java.util.stream.Streams.zip)
람다 b93이있는 JDK 8에는 스트림을 압축하는 데 사용할 수 있는 클래스 java.util.stream.Streams.zip이 b93 에 있습니다 ( Dhananjay Nene의 Java8 Lambdas 탐험 1 부 튜토리얼에 설명되어 있음 ). 이 기능 : 요소가 두 스트림의 요소를 결합한 결과 인 지연 및 순차 결합 스트림을 작성합니다. 그러나 b98에서 이것은 사라졌습니다. 실제로 Streams클래스는 b98의 …

2
lodash에서 include 메소드를 사용하여 오브젝트가 콜렉션에 있는지 확인하려면 어떻게해야합니까?
lodash를 사용하면 다음을 사용하여 기본 데이터 유형의 멤버십을 확인할 수 있습니다 includes. _.includes([1, 2, 3], 2) > true 그러나 다음은 작동하지 않습니다. _.includes([{"a": 1}, {"b": 2}], {"b": 2}) > false 컬렉션을 검색하는 다음 방법이 제대로 작동하는 것처럼 보이기 때문에 혼란 스럽습니다. _.where([{"a": 1}, {"b": 2}], {"b": 2}) > {"b": 2} …

4
신속한 컴파일러 오류 : 문자열 연결에서“표현이 너무 복잡합니다”
나는 이것이 무엇보다 재미있는 것을 발견합니다. 문제를 해결했지만 원인이 궁금합니다. 오류는 다음과 같습니다 DataManager.swift:51:90: Expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions.. 왜 불평합니까? 가능한 가장 간단한 표현 중 하나 인 것 같습니다. 컴파일러는 columns + ");";섹션을 가리 킵니다. func …

7
lapply와 do.call의 차이점은 무엇입니까?
나는 최근에 R을 배우고 있으며 두 가지 기능에 혼동합니다 : lapply및 do.call. 그것들은 mapLisp의 기능 과 비슷합니다 . 그러나 왜 다른 이름을 가진 두 가지 기능이 있습니까? 왜 R은 그냥 함수를 사용하지 map않습니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.