我试图使用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/