【发布时间】:2014-11-15 02:24:37
【问题描述】:
我正在尝试通过 reduce 函数连接字符串数组的元素。现在尝试了一下,但我无法弄清楚问题到底是什么。这就是我认为应该做的伎俩。我也尝试过其他替代方案,但鉴于数量巨大,我将等待一些输入:
var genres = ["towel", "42"]
var jointGenres : String = genres.reduce(0, combine: { $0 + "," + $1 })
错误:
..:14:44: 无法使用类型参数列表调用“+” '(IntegerLiteralConvertible, combine: (($T6, ($T6, $T7) -> ($T6, $T7) -> $T5) -> ($T6, ($T6, $T7) -> $T5) -> $T5, (($T6, $T7) -> ($T6, $T7) -> $T5, $T7) -> (($T6, $T7) -> $T5, $T7) -> $T5) -> (($T6, ($T6, $T7) -> $T5) -> $T5, (($T6, $T7) -> $T5, $T7) -> $T5) -> $T5)'
根据我的理解,$0 应该被推断为一个字符串,而 $1 与 $0 组合也应该是一个字符串。我不知道这里的类型系统是怎么回事。有什么想法吗?
【问题讨论】: