«functional-programming» 태그된 질문

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

9
함수형 프로그래밍의 이점은 무엇입니까? [닫은]
현재이 질문은 Q & A 형식에 적합하지 않습니다. 사실, 참고 문헌 또는 전문 지식이 답변을 뒷받침 할 것으로 기대하지만이 질문은 토론, 논쟁, 여론 조사 또는 확장 된 토론을 유도 할 가능성이 높습니다. 이 질문이 개선되고 다시 열릴 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으세요. 휴일 팔년 전에 …

5
배열에서 스트리밍 할 때 정수를 문자열에 매핑 할 수없는 이유는 무엇입니까?
이 코드는 작동합니다 (Javadoc에서 가져옴). List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); 이것은 컴파일 할 수 없습니다. int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA는 "람다 식에 호환되지 않는 반환 유형 …

5
유형 추론 구현
여기서 정적 입력과 동적 입력에 대한 흥미로운 논의를 봅니다. 나는 일반적으로 컴파일 유형 검사, 더 나은 문서화 된 코드 등으로 인해 정적 유형을 선호합니다. 그러나 예를 들어 Java가 수행하는 방식으로 수행되면 코드를 복잡하게 만드는 데 동의합니다. 그래서 저는 저만의 기능적 스타일 언어를 만들기 시작하려고합니다. 타입 추론은 제가 구현하고 싶은 것 …

4
다른 함수를 반환하는 함수를 어떻게 작성합니까?
파이썬에서는 make_cylinder_volume(r)다른 함수를 반환 하는 함수를 작성하고 싶습니다 . 반환 된 함수는 매개 변수를 사용하여 호출 할 수 있어야하며 h높이 h와 반경 이있는 실린더의 볼륨을 반환 해야합니다 r. 파이썬의 함수에서 값 을 반환하는 방법을 알고 있지만 다른 함수를 어떻게 반환 합니까?

1
일하는 사람을위한 결합 자 설명
콤비 네이터 란 ?? 그것은이다 "아니오 자유 변수와 함수 나 정의" (SO에 정의 된대로)는? 또는 이것은 어떨까요? Arrows에 대한 그의 잘 알려진 논문에서 John Hughes 에 따르면 , "결합기는 프로그램 단편으로부터 프로그램 단편을 구축하는 함수입니다." , 이는 "... 결합기를 사용하는 프로그래머가 원하는 것을 많이 구성합니다. 모든 세부 사항을 손으로 작성하지 …


10
Scala에서 두 개 이상의 목록을 함께 압축 할 수 있습니까?
다음 스칼라 목록이 주어지면 : val l = List(List("a1", "b1", "c1"), List("a2", "b2", "c2"), List("a3", "b3", "c3")) 어떻게 얻을 수 있습니까? List(("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3")) zip은 두 개의 목록을 결합하는 데만 사용할 수 있으므로 어떻게 든 기본 목록을 반복 / 축소해야한다고 생각합니다. 당연히 다음은 작동하지 …

9
함수형 프로그래밍 언어는 어떻게 작동합니까?
함수형 프로그래밍 언어가 상태를 저장할 수없는 경우 사용자의 입력을 읽는 것과 같은 간단한 작업을 어떻게 수행합니까? 어떻게 입력을 "저장"합니까 (또는 해당 문제에 대한 데이터를 저장합니까?) 예를 들어,이 간단한 C가 어떻게 Haskell과 같은 함수형 프로그래밍 언어로 번역 될까요? #include<stdio.h> int main() { int no; scanf("%d",&no); return 0; } (제 질문은 "명사의 …

8
기능적 언어 (특히 Erlang)는 어떻게 / 왜 잘 확장됩니까?
나는 한동안 함수형 프로그래밍 언어와 기능의 증가하는 가시성을 지켜 보았다. 나는 그들을 조사했지만 항소 이유를 보지 못했습니다. 그런 다음 최근에 Codemash 에서 Kevin Smith의 "Basics of Erlang"프레젠테이션에 참석했습니다 . 프레젠테이션을 즐겼고 함수형 프로그래밍의 많은 속성이 스레딩 / 동시성 문제를 훨씬 더 쉽게 피할 수 있다는 것을 배웠습니다. 나는 상태와 가변성이 …

5
Ruby는 Tail Call 최적화를 수행합니까?
기능적 언어는 재귀를 사용하여 많은 문제를 해결하기 때문에 많은 문제가 TCO (Tail Call Optimization)를 수행합니다. TCO는 해당 함수의 마지막 단계 인 다른 함수 (또는 자체적으로이 기능을 TCO의 하위 집합 인 Tail Recursion Elimination이라고도 함)에서 함수를 호출하여 새 스택 프레임이 필요하지 않게합니다. 오버 헤드와 메모리 사용량을 줄입니다. Ruby는 분명히 기능적 언어 …

1
목록에서 목록을 압축하는 방법
다음 목록 목록을 압축하고 싶습니다. >>> zip([[1,2], [3,4], [5,6]]) [[1,3,5], [2,4,6]] 이는 zip목록이 개별 구성 요소로 분할 된 경우에만 현재 구현 으로 달성 할 수 있습니다 . >>> zip([1,2], [3,4], [5,6]) (1, 3, 5), (2, 4, 6)] 목록을 분할하고 개별 요소를에 전달하는 방법을 알 수 없습니다 zip. 기능적 솔루션이 선호됩니다.

6
C ++에서 함수 내에서 구조와 클래스를 정의 할 수있는 이유는 무엇입니까?
C ++에서 실수로 이와 같은 작업을 수행했으며 작동합니다. 왜 이것을 할 수 있습니까? int main(int argc, char** argv) { struct MyStruct { int somevalue; }; MyStruct s; s.somevalue = 5; } 이 일을 한 후, 나는 오래 전에 C ++를위한 가난한 사람의 함수형 프로그래밍 도구로이 트릭에 대해 읽었던 기억이 났지만 …


6
Javascript의 다형성이란 무엇입니까?
나는 인터넷에서 다형성 에 관한 기사를 읽을 수 있었다 . 하지만 그 의미와 그 중요성을 잘 이해하지 못했다고 생각합니다. 대부분의 기사에서는 이것이 왜 중요한지, 그리고 OOP (물론 JavaScript에서)에서 다형성 동작을 어떻게 달성 할 수 있는지에 대해 설명하지 않습니다. 구현 방법에 대한 아이디어가 없기 때문에 코드 예제를 제공 할 수 없으므로 …

15
Haskell에서 Haskell 인터프리터 작성
고전적인 프로그래밍 연습은 Lisp / Scheme에서 Lisp / Scheme 인터프리터를 작성하는 것입니다. 전체 언어의 힘을 활용하여 언어의 하위 집합에 대한 인터프리터를 생성 할 수 있습니다. Haskell에 대한 유사한 운동이 있습니까? Haskell을 엔진으로 사용하여 Haskell의 하위 집합을 구현하고 싶습니다. 물론 할 수 있지만 볼 수있는 온라인 리소스가 있습니까? 여기 뒷이야기가 있습니다. …

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