scala> def lift3[A,B,C,D] (
| f: Function3[A,B,C,D]): Function3[Option[A], Option[B], Option[C], Option
[D]] = {
| (oa: Option[A], ob:Option[B], oc: Option[C]) =>
| for(a <- oa; b <- ob; c <- oc) yield f(a,b,c)
| }
lift3: [A, B, C, D](f: (A, B, C) => D)(Option[A], Option[B], Option[C]) => Option[D]
, 다음 줄누군가 아래의 스칼라 코드를 설명 할 수 있습니까? 특히
이 여호수아 D Suereth에 의해 깊이에서 책 스칼라에서 가져def lift3[A,B,C,D] (
f: Function3[A,B,C,D]): Function3[Option[A], Option[B], Option[C], Option
[D]]
(2.1 목록 2 장). 나는 어떤 목적으로 추가 Option[D]
이 봉사하는지 잘 모르겠다. 함수의 본문에서 코드는 출력 유형 D
의 처음 세 매개 변수에만 매핑됩니다. 그렇다면 D
이 입력 매개 변수 목록에 선언 되었습니까? 내가 놓친 게 있니?
필자의 제한된 이해로, 함수 선언을 매개 변수 (4 개의 매개 변수를 사용)로 취하고 4 개의 매개 변수를 사용하는 함수를 반환하는 함수로 읽습니다. 또한 반환 형식에 대한 언급이없는 이유는 무엇입니까? 미리 감사드립니다.
감사 만의 문서에서 찾을 수 있습니다! 마지막 매개 변수가 반환 형식이라는 규칙과 관련한 문서를 가리킬 수 있습니까? – MojoJojo
내 대답에있는 문서 링크가 있습니다 :) –