我想知道分隔符和终止符在打印中有何不同?

时间:2019-06-29 23:13:22

标签: swift separator terminator

我想知道这种印刷品。您可能会注意到此代码概念在此代码概念之间有所不同。

print(1, 2, 3, 4, 5, separator: "...")
//1...2...3...4...5

for n in 1...5 {
    print(n, separator: " ", terminator: "...")
}
// 1...2...3...4...5...

我认为分隔符应该是用于在每个项目中添加文本的空间,但是默认情况下,终止符是换行符,称为\ n ,如果您还使用了快速操场,则可以看到换行符。如果将这三个句点放在分隔符上,则无法在循环中显示“ ...”,但可以打印。我对此代码有些困惑。所以让我知道这段代码。我可能在那些事情上错了。我正在学习Swift。

2 个答案:

答案 0 :(得分:0)

print(_:separator:terminator:)方法所述:

分隔符:每个项目之间要打印的字符串。

终止符:打印所有项目后要打印的字符串。

这是每次致电print。因此,separator仅在为print提供多个值时有用。

print(arg1, arg2, ..., argN, separator: someSeparator, terminator: someTerminator)

结果是:

  

arg1 someSeparator arg2 someSeparator ... someSeparator argN someTerminator

(但为了清楚起见,没有添加空格)。

当您仅打印一个值时,例如在问题代码中,separator根本没有使用,因此您只会在每个打印值的末尾看到终止符。

代码,例如:

print(1, 2, 3, 4, 5, separator: " ", terminator: "...")

将提供您似乎正在寻找的结果:

  

1 2 3 4 5 ...

答案 1 :(得分:0)

separator是在要打印的价位之间要打印的文本。  terminator是打印所有值后要打印的文本。所以:

print(val1, val2, val3, ..., separator: "<SEP>", terminator: "<TERM>")

将打印

val1<SEP>val2<SEP>val3<SEP>...<TERM>

如果仅为print提供一个值,则它将打印分隔符,因为没有分隔符! (您不会将一个值与其自身分开)。但它将打印给定的终止符(或默认终止符,如果未提供)。

因此

print(1, 2, 3, 4, 5, separator: "...")
//1...2...3...4...5

将打印由“ ...”分隔并由默认终止符终止的值1,2,3,4,5。 和

for n in 1...5 {
    print(n, separator: " ", terminator: "...")
}
// 1...2...3...4...5...

将打印从1到5的每个数字,并在每个数字之后显示文本...,并且 将不会打印分隔符,因为只给打印件提供一个要打印的值。