왜이 오류가 발생합니까? 나는 하스켈을 배우기위한 테스트로 이것을 시도하고 있는데, 두 번째 입력에서 튜플을 그냥 묶는 것이다. 왜 이것이 컴파일되지 않습니까? 고맙습니다.예상 유형 '(Int, Int)'을 실제 유형 '[t0]'과 일치시킬 수 없습니다.
test :: (Int,Int) -> [(Int,Int)] -> Int
test [] [] = []
test xs [] = []
test (x,xs) (y:ys) = test (x,xs) ys
감사합니다. 첫 번째 오류를 지적하기위한 @Carcigenicate. 우리가
test :: (Int,Int) -> [(Int,Int)] -> Int
test xs [] = []
test (x,xs) (y:ys) = test (x,xs) ys
이있는 경우 지금은 얻을
• Couldn't match expected type ‘Int’ with actual type ‘[t0]’
• In the expression: []
In an equation for ‘test’: test xs [] = []
첫 번째 인수가 2- 튜플이라고 가정 했으므로 첫 번째 정의에서 목록과 패턴을 일치 시키려고했습니다. 튜플은 비어있는 iirc 일 수 없습니다. – Carcigenicate
'test' 함수의 첫 번째 인수는 튜플이고 두 번째는 튜플 목록이지만 패턴 일치가 올바르지 않습니다. – Redu
함수는 int를 반환한다고 말하면 int가 아닌 해당 줄에서 []를 반환하려고 시도합니다. – Carcigenicate