String
有以下初始化器(还有很多):
init(count: Int, repeatedValue: Character)
init(count: Int, repeatedValue: UnicodeScalar)
所以,以下代码不应该能够正常工作吗?
let str = String(count:8, repeatedValue:"*") // Error: "Extra argument 'count' in call"
编译器不应该能够推断类型吗?!即使双引号严格用于字符串字面量,但是Character
和UnicodeScalar
都符合UnicodeScalarLiteralConvertible
协议。那么这里发生了什么?
当然,我总是可以使用repeatedValue:("*" as Character)
,但是这样有什么意义呢?!