복붙노트

[SCALA] 어디는 "*** 그이야 flatmap"않습니다 스칼라의 관용적 표현에서 온?

SCALA

어디는 "*** 그이야 flatmap"않습니다 스칼라의 관용적 표현에서 온?

무엇은 스칼라 민속 이런 곳을받을 권리가 있음을 flatmap에 대해 너무 강력하다?

해결법

  1. ==============================

    1.이 구절 뒤에 추론 / 다음 / 다른 코드는 당신이 flatMap 호출 (및 기타 고차 기능)을 작성합니다 경우 지루한 많이 대체 할 수 있다는 것입니다.

    이 구절 뒤에 추론 / 다음 / 다른 코드는 당신이 flatMap 호출 (및 기타 고차 기능)을 작성합니다 경우 지루한 많이 대체 할 수 있다는 것입니다.

    이것은 (http://tonymorris.github.io/blog/posts/scalaoption-cheat-sheet/ 참조) 옵션에 특히 사실이다

    그러나 (내가 인정해야하지만, 내가 바로 나 자신 아직 세부 사항을 이해하지 못하는)뿐만 아니라 다른 모나드에 적용

    당신은 당신이 각 기능은 null를 돌려 수있는 기능 (또는 기능의 시리즈)를 적용하고자하는 컬렉션을 가지고있는 상황을 상상해보십시오. 당신이 실제로 null을 사용하면 코드가 null 점검으로 가득합니다. 대신 값 옵션을 사용하는 경우, 당신은 여러 기능의 경우 기능을 체인, 원하는 기능을 가진 값을 flatmap 많은 경우에 정확하게 무엇이다, null가 아닌 단지 결과와 컬렉션을 얻을 수 있습니다 당신이 원하는.

    그 설명은 오히려 짧은 조언을 뒤얽힌 때문에 자리 매김 "그냥 똥 flatmap".

  2. ==============================

    2.내가들은 이야기는 그 중 하나가이 같은 일부 코드를 작성하기 시작했을 때 두 걸출한 스칼라 프로그래머가 페어링 있다고했다 :

    내가들은 이야기는 그 중 하나가이 같은 일부 코드를 작성하기 시작했을 때 두 걸출한 스칼라 프로그래머가 페어링 있다고했다 :

    option match {
        case Some ...
    

    하는 다른 말했다 가리켜 "이? 아마추어 무엇입니까? 평면지도를 그 똥!"

    flatMap에 대해 너무 강력 무엇에 관해서는, 음 ... 첫째, 기본적인 모나드 연산자입니다. 사용자가 옵션을 해제 만들 수 있지만 flatMap 반대로 그게 예에 의해 공유되는 공통 연산 수단, 연속 요청, 상태 등 (예 옵션 모음 등)을 용기 둘째, 즉, 아니다 모나드 동작, 그래서 널리 적용 할 수 없다. 또한, 당신이 조작 된 데이터에 대한 너무 많은 지식이 필요합니다.

    참고 : 이전에 내가 일치가 flatMap보다 느리게했다 - 그 반대가 사실로 사실,이 글을 쓰는, 2.10.1시 스칼라의 최신 버전까지).

  3. ==============================

    3.flatMap에 대한 중요한 점은 모나드 바인딩 작업의 스칼라의 표시라는 것이다. 모나드와 정확히 왜 그들이 그렇게 유용하다의 목적을 설명하는 웹에 많은 튜토리얼이있다; 제임스 Iry 어떤 내용이수록되어 하나입니다.

    flatMap에 대한 중요한 점은 모나드 바인딩 작업의 스칼라의 표시라는 것이다. 모나드와 정확히 왜 그들이 그렇게 유용하다의 목적을 설명하는 웹에 많은 튜토리얼이있다; 제임스 Iry 어떤 내용이수록되어 하나입니다.

  4. ==============================

    4.Runar Bjarnason는 기원 찾고있는 사람입니다.

    Runar Bjarnason는 기원 찾고있는 사람입니다.

    그렇게 강력한 이유 실현 만 정직하게 시간을 함께 할 수있는 무언가이다. 옵션 클래스는 최종 결과에 반복적으로 (예를 들어) 조회 일련의 flatMap 얼마나보고를 위해 시작하는 가장 좋은 장소입니다.

  5. 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