2017-02-24 9 views
-1
struct Mirror { 
    var size: Int 
    var name: String 
} 
let mirrors = [(name: "Dorian", size: 24), (name: "Corinth", size: 33), (name: "Cruyf", size: 29), (name: "Lola", size: 46)] 
let smallMirrors = mirrors.filter {$0.size < 33 } 
print(smallMirrors) 

놀이터에서의 결과는 [ "Dorian", 24 "Cruyf, 29"]입니다. 모든 마크가 포함되어 있습니다.구두점 필터링하기

내가 목록 도리안 24 Cruyf을 원하는 29 에는 ""또는 쉼표

+0

정확히 원하는 것은 무엇입니까? 'Dorian 24 Cruyf 29'를 출력하려면'print (smallMirrors)'를 사용 하시겠습니까? –

+0

나는 그것이 OP가 원하는 것의 종류라고 생각한다. –

답변

1

당신은 단지 smallMirrors을 통해 튜플로 반복 할 수

for (k,v) in smallMirrors{ 
    print(k, terminator: " ") 
    print(v) 
} 

또는 더 나은 솔루션을 사용하여지도 : 없습니다

smallMirrors.map { (k,v) in 
    print(k, v) 
} 

출력 :

Dorian 24 
Cruyf 29 

희망 하시겠습니까? 더 인용 부호와 같은 줄에 모든 것을하지 않으

0

, 당신은

import UIKit 

struct Mirror { 
    var size: Int 
    var name: String 
} 
let mirrors = [(name: "Dorian", size: 24), (name: "Corinth", size: 33), (name: "Cruyf", size: 29), (name: "Lola", size: 46)] 
let smallMirrors = mirrors.filter {$0.size < 33 } 
smallMirrors.forEach{ print("\($0) \($1)", terminator:" ")} 

출력 사용할 수 있습니다 인쇄의 "터미네이터"속성을 수정하여

Dorian 24 Cruyf 29 

을, 당신은 항목을 나눌 수 있습니다 그러나 당신은 원한다. 새로운 행의 각 항목을 원할 경우, 종결자를 완전히 제거하십시오. print 문에 대한이 기능적 접근 방식을 취함으로써 미래에 문제없이 원하는 구분 기호, 구두점 또는 기타 문자열을 추가 할 수 있습니다.