2017-02-24 21 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) 

ここで問題となるのは、Playgroundsの結果が["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ステートメントに対するこの機能的なアプローチを取ることで、今後問題になる可能性のあるセパレータ、句読点、またはその他の文字列を柔軟に追加できます。

関連する問題