2013-07-05 1 views

답변

7

어쩌면?

map (\x -> [x]) xs 

여러분이 생각하는 어떤 functor에서나 작동 할 수 있습니다. 이것은 단지 목록에 대해서는 더 이상하지 않을 것입니다.

12

나는 map return 또는 map pure으로 충분하다고 생각합니다.

+4

나는'주장 것 ([])'pure''@jozefg 반환 및 적은 문자 – jozefg

+2

보다 명확 더 짧습니다. – is7s

+0

사실,하지만 수입하고 수입해야합니다. – jozefg

4

분할 패키지는 이름이 다양한 맵 솔루션보다, IMO, 더 의미있는 (Data.List.Split.) chunksOf 기능 제공 (그들은 더 관용적 경우에도 있습니다.) 당신은 또한 사용할 수 있습니다

4

지능형리스트 : 같은 간단한 예를 들어

[ [x] | x <- theList] 

어쩌면 과잉하지만 상황에 따라, 어쩌면 당신은 싱글 목록의 일부 추가 처리로이 단계 병합 할 수 있습니다 :

[f [x] + 13 | x <- theList] 
1

do 표기법을 사용 :

do { x <- xs; return [x] } 
2

혀 -에 - 뺨 버전 :

import Data.List 

groupBy (const . const False) xs 
관련 문제