我试图使用joinwithseparator在数组元素之间插入一个分隔元素。根据文件,我应该能够:

[1, 2, 3].joinWithSeparator([0])

得到:
[1, 0, 2, 0, 3]

相反,我得到:
repl.swift:3:11: error: type of expression is ambiguous without more context
[1, 2, 3].joinWithSeparator([0])

我该怎么做?

最佳答案

joinWithSeparator不是这样工作的。输入应该是一个序列,即。

// swift 2:
[[1], [2], [3]].joinWithSeparator([0])
// a lazy sequence that would give `[1, 0, 2, 0, 3]`.

// swift 3:
[[1], [2], [3]].joined(separator: [0])

您也可以通过flatmap散布,然后删除最后一个分隔符:
// swift 2 and 3:
[1, 2, 3].flatMap { [$0, 0] }.dropLast()

关于swift - 使用joinWithSeparator插入数组时的“歧义引用”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38403051/

10-13 05:55