swift: 无法将 [sic] 字符数组缩减为字符串
swift: can't reduce [sic] character array to string
我知道这是一个不必要的问题,但是...为什么我不能使用 reduce 将字符数组转换为字符串?
例如,
let str = "this is a string"
let clist = Array(str)
let slist = clist.reduce("", +)
给我:'Character' 不是 'Uint8' 的子类型
当
list dlist = [0, 1, 2, 3, 4, 5, 6]
let sum = dlist.reduce(0, +)
有效
我知道我可以简单地执行 slist = String(clist),但我只想知道,你知道吗?
Swift 1.1 xcode 6.2
游乐场
谢谢!
在
的 combine:
闭包内
let slist = clist.reduce("", +)
[=13=]
是迄今为止的累计结果 – String
,
</code> 是 <code>clist
中的当前元素 – Character
.
没有以 (String, Character)
作为参数的 +
运算符。
这可行:
let slist = clist.reduce("") { [=11=] + String() }
在 Swift 1.2:
let str = "this is a string"
let clist = Array(str)
let slist = clist.map { String([=10=]) }.reduce("", combine: { [=10=] + })
println(slist) // "this is a string"
我知道这是一个不必要的问题,但是...为什么我不能使用 reduce 将字符数组转换为字符串?
例如,
let str = "this is a string"
let clist = Array(str)
let slist = clist.reduce("", +)
给我:'Character' 不是 'Uint8' 的子类型 当
list dlist = [0, 1, 2, 3, 4, 5, 6]
let sum = dlist.reduce(0, +)
有效
我知道我可以简单地执行 slist = String(clist),但我只想知道,你知道吗?
Swift 1.1 xcode 6.2
游乐场谢谢!
在
的combine:
闭包内
let slist = clist.reduce("", +)
[=13=]
是迄今为止的累计结果 –String
,</code> 是 <code>clist
中的当前元素 –Character
.
没有以 (String, Character)
作为参数的 +
运算符。
这可行:
let slist = clist.reduce("") { [=11=] + String() }
在 Swift 1.2:
let str = "this is a string"
let clist = Array(str)
let slist = clist.map { String([=10=]) }.reduce("", combine: { [=10=] + })
println(slist) // "this is a string"