Swift:打印分隔符不在数组项之间添加空格

Swift:打印分隔符不在数组项之间添加空格,swift,printing,Swift,Printing,我有以下代码: let newArray = [4, 6, 7, 12].reversed().map{print($0, terminator:"")} 它给了我这个输出: 12764 我期待的是:12 7 6 4 如何用整数之间的空格来输出它?问题是,您明确地告诉print语句将空的字符串作为终止符,因此出现了问题。如果将终止符更改为”,则代码将正常工作 顺便说一句,map打印的结果是Void,这是没有意义的。我想您只是想调用forEach [4, 6, 7, 12].reversed(

我有以下代码:

let newArray = [4, 6, 7, 12].reversed().map{print($0, terminator:"")}
它给了我这个输出:

12764
我期待的是:12 7 6 4


如何用整数之间的空格来输出它?

问题是,您明确地告诉
print
语句将空的
字符串作为终止符,因此出现了问题。如果将
终止符
更改为
,则代码将正常工作

顺便说一句,
map
打印的结果是
Void
,这是没有意义的。我想您只是想调用
forEach

[4, 6, 7, 12].reversed().forEach{print($0, terminator:" ")}

要实际查看输出,还需要调用
print(“”
),因为打印缓冲区仅在换行时刷新到控制台,而且在
forEach
中,终止符显式设置为空格,这里没有添加新行。

问题是您明确地告诉
print
语句将空的
字符串作为终止符,因此出现了问题。如果将
终止符
更改为
,则代码将正常工作

顺便说一句,
map
打印的结果是
Void
,这是没有意义的。我想您只是想调用
forEach

[4, 6, 7, 12].reversed().forEach{print($0, terminator:" ")}

要实际查看输出,还需要调用
print(“”
),因为打印缓冲区仅在换行时刷新到控制台,而且在
forEach
中,终止符显式设置为空格,因此没有添加新行。

这似乎是对打印的滥用。为什么不使用
joined(分隔符:)
构建输出字符串:

let output = [4, 6, 7, 12].reversed().map { String($0) }.joined(separator: " ")

print("\"" + newArray + "\"")
这将只在元素之间插入空格,不会在末尾放置不需要的空格,然后只在末尾输出一个换行符,以将输出刷新到控制台

上面的输出是

"12 7 6 4"

这似乎是对印刷品的滥用。为什么不使用
joined(分隔符:)
构建输出字符串:

let output = [4, 6, 7, 12].reversed().map { String($0) }.joined(separator: " ")

print("\"" + newArray + "\"")
这将只在元素之间插入空格,不会在末尾放置不需要的空格,然后只在末尾输出一个换行符,以将输出刷新到控制台

上面的输出是

"12 7 6 4"

任务是在一行中用空格打印整数,而不是将它们转换成字符串。我的解决方案就是这样做的。它生成一个输出字符串,然后打印出来。任务是在一行中用空格打印整数,而不是将它们转换成字符串。我的解决方案就是这样做的。它生成一个输出字符串,然后打印它。