나는 0에서 내부 [A], 시작의 인덱스를 반환하거나 반환 -1이 발견되어 있지 않은 경우 매개 변수 하스켈 - 기본 꼬리 재귀
whatIndex :: (Eq a) => a -> [a] -> Integer
이있는 기능을 가지고있다. 이것은 내가 작성한 것입니다.
module WhatIndex where
whatIndex :: (Eq a) => a -> [a] -> Integer
whatIndex p [] = -1
whatIndex p (a:as)
| p==a = index
| otherwise = whatIndex p as
where index = 1+whatIndex p as
분명히 여기에서 색인을 올바르게 올리지 않았습니다. 왜 이것이 작동하지 않는가? 또한 매개 변수를 변경할 수 없습니다. 여기 ========================
는
whatIndex 3 [] = -1
whatIndex 2 [1,2,3,2,1]=1
whatIndex 1 [1,2,3,2,1]=0
whatIndex 'b' ['a' .. 'z']=1
이것은 무엇을해야합니까? 테스트 케이스 또는 2를 제공 할 수 있습니까? – jozefg
내가 생각하는 배열에 대한 표준. 인덱스() 함수. 나는 이것이리스트 내의 요소의 인덱스를 반환 할 것으로 기대하고 있다고 생각합니다 : whatIndex 17 [1,2,3,4,5,15,16,17,19] = 7 –
예, 기본적으로 색인 기능. 색인을 늘리는 방법에 대한 논리를 파악할 수없는 것 같습니다. – Soulzityr