Добрый день! Разбираюсь в Swift, по официальной книге Apple.
В главе про функции наткнулся на пример, который не работает:
func alignRight(var string: String, count: Int, pad: Character) -> String {
let amountToPad = count - count(string)
if amountToPad < 1 {
return string
}
let padString = String(pad)
for _ in 1...amountToPad {
string = padString + string
}
return string
}
let originalString = "hello"
let paddedString = alignRight(originalString, 10, "-")
Если вставить этот код в playground выдает ошибку:
Что делать?
Ответ
Ошибка исчезает при такой записи:
let amountToPad = count - Swift.count(string)
(из комментария pavelip)
Так же помогает переименовать переменную count во что-то другое, например, _count:
func alignRight(var string: String, _сount: Int, pad: Character) -> String {
let amountToPad = _сount - count(string)
Очевидно, это происходило из-за конфликта названия переменной с названием функции.
Комментариев нет:
Отправить комментарий