2016-05-04 5 views
-4

У меня есть массив, содержащий разные строковые значения. Я хочу напечатать каждый индекс на новой строке только с одной функцией печати.Печать нескольких переменных с использованием одной функции печати (SWIFT)

спасибо.

+1

написать цикл for, чтобы добавить строку к изменяемой строковой переменной и использовать \ n? 'Вар stringToPrint = "" для с в массиве { stringToPrint.append ("\ п") stringToPrint.append ("\ (ы)") } печати (stringToPrint)' –

+3

Nooo ...... ..... не делайте этого @MihribanMinaz 'print (array.joinWithSeparator (" \ n "))' – nhgrif

ответ

4

Вы можете использовать joinWithSeparator Массив функции:

var newLine = "\n" 
var arr = ["one", "two", "three"] 
var joinedArr = arr.joinWithSeparator(newLine) 
print(joinedArr) 

Выход:

один

два

три

0

Разве это не очевидно?

let stringArr = someStuff 
for item in stringArr { 
    print(item) // See? Only one print function here! 
} 

Хорошо, я перестану возиться. Я знаю, что вы хотите, чтобы printназываться только один раз, правильно?

В то время как вы можете использовать метод, показанный на KlimczakM, вы можете также попробовать более функциональный подход:

print(stringArr.reduce("") {"\($0)\($1)\n"}) 

Ну ... Я вроде кода игры в гольф ...

Более читаемый подход:

let result = stringArr.reduce("") { 
    $0 + $1 + "\n" 
} 
print(result) 
+1

Первый подход, как вы поняли, вызывает 'print' много. Второй подход заканчивается дополнительным '' \ n "' завершением в конце. – nhgrif

Смежные вопросы