首页 > 解决方案 > 在 Swift 中的 for 语句中显示多个值

问题描述

嗨,我是编程新手。如果这是一个愚蠢的问题,我事先道歉,但我正在学习 For 循环。以下是我理解的示例代码。我知道如何编写一个基本的 For 循环,它在每个循环中迭代一个变量,但是如何使用 For 循环在一个循环中显示多个值。例子:

let treeArray = ["Pine", "Oak", "Yew", "Maple", "Birch", "Myrtle"]

    for tree in treeArray {
    print(tree)
}

我希望能够在一个循环中打印三个变量,以便打印代码

Pine Oak Yew在一条线上

Maple Birch Myrtle接下来

代替

Pine
Oak
Yew
Maple
Birch
Myrtle

谢谢!

标签: swiftloops

解决方案


您可以使用.enumerated()将索引与元素配对,然后 print(_:terminator:)使用index % 3选择适当的终止符(换行符"\n"或空格" "):

let treeArray = ["Pine", "Oak", "Yew", "Maple", "Birch", "Myrtle"]

for (index, tree) in treeArray.enumerated() {
    print(tree, terminator: index % 3 == 2 ? "\n" : " ")
}

输出:

Pine Oak Yew
Maple Birch Myrtle

一般情况:每行打印n项目

一般来说,对于n每行打印项目:

print(tree, terminator: index % n == n - 1 ? "\n" : " ")

或等效地:

print(tree, terminator: (index + 1) % n == 0 ? "\n" : " ")

如果您希望最后一项始终后跟换行符,请为此添加附加检查:

print(tree, terminator: index % n == n - 1 || index == treeArray.endIndex - 1 ? "\n" : " ")

推荐阅读