1
def t[A] = (l:Seq[A]) => l tail
def r[A] = (r:Seq[A]) => r reverse
(Function.chain(List(r[Int], t[Int])))(List(1,2,3,4))
목록 (3, 2, 1) 예상대로스칼라 함수 체인 및 유형
. 그러나 어떻게 일반화 할 수 있습니까? 내가 말할 경우 :
(Function.chain(List(r[A], t[A])))(List(1,2,3,4))
또는 (Function.chain (목록 (R, t))) (목록 (1,2,3,4)) 처음에
을 I는하지 입력 할 수 발견 된 두 번째 유형 불일치; 발견 : Int (1) required : Nothing
분명히 뭔가가 빠졌지 만,이 경우 형식 구문을 이해하지 못합니다. 당신은 어떤 유형의 시퀀스에서 작동하는 t
및 r
을 원하는 경우에
당신은 아마'데프 rThenT [A] = Function.chain (목록 (R 뭔가를 원하는 [A ], t [A])),하지만 당신이 무엇을하려고하는지는 분명하지 않습니다. – wingedsubmariner
이것은 내가 할 수있는 최선의 방법일까요? 나는 Function.chain (List (r [A], t [A])))에 유형 'A'를 도입하려고 시도 했었고 함수를 정의하지 않고이를 수행하는 방법을 모릅니다. –
익명 함수를 사용할 수 없습니다 형식 매개 변수, 메서드 만. 실제로'def'를 사용할 필요가 없게됩니다. – wingedsubmariner