나는이 함께했다 hoogle - 보내고 약간의 : 나에게 모든 문자열의 str
에 첫 등장을 나타내는 지표의 목록을 제공한다 후
import Data.List
substrPos xs str = map (\x -> findIndex (isPrefixOf x) $ tails str) xs
xs
.
예컨대 :
Prelude Data.List> substrPos ["Foo", "Bar"] "FooBar"
[Just 0,Just 3]
질문은 내가 어쩌면 내가 람다를 잃을 수있다, 더 관용적 쓸 수있는 방법인가? 어쨌든 (기능 구성?) isPrefixOf x
을 묶는 괄호를 제거 하시겠습니까? 포인트 프리 스타일로 작성 하시겠습니까?
이러한 것들을 어떻게 생각해야합니까?
추 신 : 기능 수정으로 나는 tails xs
에서 괄호를 제거했습니다.
[codereview.se]에서 이것이 더 적절하고 더 관심을 가지는지 알고 싶을 수도 있습니다. – icktoofay
감사합니다. 필요한 경우 알려 드리겠습니다. – Paul
다른 여러 가지 방법으로 작성할 수도 있지만 (예를 들어 무료로 사용할 수있는 방법 외에 다른 방법을 사용하고 목록의 이해도를 사용하는 등) 코드가 충분히 숙련 적이라고 생각합니다. 인수 순서가 다른 방향이라면 명시 적으로'xs'를 잃어 버리는 것이 좋습니다. –