2012-07-21 5 views
0

에 튜플이 들어 나는 [(Double, Double)] 목록을 반환하고 난 그것을 포맷하고 문자열 Double으로 선 위에 언급에 변환해야이 String목록 변환이 포맷 문자열

"(Double, Double)" 

값처럼 반환 할.

showPairSequence :: [(Double, Double)] -> String 
showPairSequence = init . tail . show 
+0

목록이 두 개 이상의 튜플로 구성된 경우 어떻게됩니까? – efie

+1

아마도'f xs = map show xs'를 찾고있을 것입니다. 그러나 더 많은 정보없이 말하기는 어렵습니다. 예상 한 입출력 예를 사용하여 게시물을 편집 할 수 있습니까? 예를 들어, 입력 [((1.0,2.0), (3.5,4.5)]로 어떤 출력을 기대합니까? –

+0

내 목록에 튜플이 더 있으면''(Double, Double), (Double, Double), ... "'을 기대합니다. – MahmutBulut

답변

1
format yourList = intercalate ", " $ map show yourList 
+3

단 하나의 제안 :'intercalate '를 사용하십시오. 이것은'concat'와'intersperse'를 결합합니다. –

0

: 목록에서 하나 개 이상의 값이있는 경우로

, 그것은 포맷해야합니다 실제로 Double의 특정 값을 인쇄하려면 올바른 답을 얻은 efie을 입력하십시오. 그러나 문자열 "Double" 만 표시하려는 경우 다음 대답을 사용하십시오.

format = intercalate ", " . map (const "(Double, Double)") 
+0

'초기화. 꼬리'? 어쩌면'showPairSequence = show'가 더 좋을까요? –

+0

원래 포스터는 '['또는 ']'을 원하지 않습니다. – alternative

1

경우 : 당신은 목록의 기본 Show 인스턴스를 사용할 수 있습니다

"(Double, Double), (Double, Double), ..., (Double, Double)"