[SCALA] 어디는 "*** 그이야 flatmap"않습니다 스칼라의 관용적 표현에서 온?
SCALA어디는 "*** 그이야 flatmap"않습니다 스칼라의 관용적 표현에서 온?
무엇은 스칼라 민속 이런 곳을받을 권리가 있음을 flatmap에 대해 너무 강력하다?
해결법
-
==============================
1.이 구절 뒤에 추론 / 다음 / 다른 코드는 당신이 flatMap 호출 (및 기타 고차 기능)을 작성합니다 경우 지루한 많이 대체 할 수 있다는 것입니다.
이 구절 뒤에 추론 / 다음 / 다른 코드는 당신이 flatMap 호출 (및 기타 고차 기능)을 작성합니다 경우 지루한 많이 대체 할 수 있다는 것입니다.
이것은 (http://tonymorris.github.io/blog/posts/scalaoption-cheat-sheet/ 참조) 옵션에 특히 사실이다
그러나 (내가 인정해야하지만, 내가 바로 나 자신 아직 세부 사항을 이해하지 못하는)뿐만 아니라 다른 모나드에 적용
당신은 당신이 각 기능은 null를 돌려 수있는 기능 (또는 기능의 시리즈)를 적용하고자하는 컬렉션을 가지고있는 상황을 상상해보십시오. 당신이 실제로 null을 사용하면 코드가 null 점검으로 가득합니다. 대신 값 옵션을 사용하는 경우, 당신은 여러 기능의 경우 기능을 체인, 원하는 기능을 가진 값을 flatmap 많은 경우에 정확하게 무엇이다, null가 아닌 단지 결과와 컬렉션을 얻을 수 있습니다 당신이 원하는.
그 설명은 오히려 짧은 조언을 뒤얽힌 때문에 자리 매김 "그냥 똥 flatmap".
-
==============================
2.내가들은 이야기는 그 중 하나가이 같은 일부 코드를 작성하기 시작했을 때 두 걸출한 스칼라 프로그래머가 페어링 있다고했다 :
내가들은 이야기는 그 중 하나가이 같은 일부 코드를 작성하기 시작했을 때 두 걸출한 스칼라 프로그래머가 페어링 있다고했다 :
option match { case Some ...
하는 다른 말했다 가리켜 "이? 아마추어 무엇입니까? 평면지도를 그 똥!"
flatMap에 대해 너무 강력 무엇에 관해서는, 음 ... 첫째, 기본적인 모나드 연산자입니다. 사용자가 옵션을 해제 만들 수 있지만 flatMap 반대로 그게 예에 의해 공유되는 공통 연산 수단, 연속 요청, 상태 등 (예 옵션 모음 등)을 용기 둘째, 즉, 아니다 모나드 동작, 그래서 널리 적용 할 수 없다. 또한, 당신이 조작 된 데이터에 대한 너무 많은 지식이 필요합니다.
참고 : 이전에 내가 일치가 flatMap보다 느리게했다 - 그 반대가 사실로 사실,이 글을 쓰는, 2.10.1시 스칼라의 최신 버전까지).
-
==============================
3.flatMap에 대한 중요한 점은 모나드 바인딩 작업의 스칼라의 표시라는 것이다. 모나드와 정확히 왜 그들이 그렇게 유용하다의 목적을 설명하는 웹에 많은 튜토리얼이있다; 제임스 Iry 어떤 내용이수록되어 하나입니다.
flatMap에 대한 중요한 점은 모나드 바인딩 작업의 스칼라의 표시라는 것이다. 모나드와 정확히 왜 그들이 그렇게 유용하다의 목적을 설명하는 웹에 많은 튜토리얼이있다; 제임스 Iry 어떤 내용이수록되어 하나입니다.
-
==============================
4.Runar Bjarnason는 기원 찾고있는 사람입니다.
Runar Bjarnason는 기원 찾고있는 사람입니다.
그렇게 강력한 이유 실현 만 정직하게 시간을 함께 할 수있는 무언가이다. 옵션 클래스는 최종 결과에 반복적으로 (예를 들어) 조회 일련의 flatMap 얼마나보고를 위해 시작하는 가장 좋은 장소입니다.
from https://stackoverflow.com/questions/8559537/where-does-the-flatmap-that-s-idiomatic-expression-in-scala-come-from by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떻게 경우 클래스 동반자에 적용 오버라이드 (override) (0) | 2019.10.31 |
---|---|
[SCALA] 스칼라의 동반자 객체를 가진 뒤에있는 근거는 무엇입니까? (0) | 2019.10.31 |
[SCALA] 함수를 정의하는 "DEF"와 "발"의 차이점은 무엇입니까 (0) | 2019.10.31 |
[SCALA] 어떻게 스파크 SQL DataFrame에서 열 유형을 변경하려면? (0) | 2019.10.31 |
[SCALA] 스칼라에서 암시 적 이해 (0) | 2019.10.31 |