Не работает синтаксический анализ строки - PullRequest
0 голосов
/ 04 октября 2018

У меня есть следующий простой, свежий проект с одним представлением в Xcode 10 с Swift 4.2

Я ввел опечатку в интерполяции строки первой строки, но компилятор не жалуется, и код выполняется.

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let number: Int = 50
        var string = "\(number.numberString, withValue: false) lbs"
        print(string)
        string = "\(number.numberString(withValue: false)) lbs"
        print(string)
    }
}
extension Int {
    func numberString(withValue value: Bool) -> String {
        if value == true {
            return "value"
        } else {
            return String(self)
        }
    }
}

распечатка:

((Function), withValue: false) lbs
50 lbs

Принимает первый параметр как «(Функция)» и сообщает об остальном тексте в скобках как часть текста, но редактор не показывает это как текст.Что-то я не понимаю в синтаксисе интерполяции строк?или это проблема / ошибка?

Thx

1 Ответ

0 голосов
/ 04 октября 2018

Он отображает именно то, что вы запрашиваете.Вы оцениваете:

(number.numberString, withValue: false)

Это кортеж с немаркированным значением функции и помеченным логическим значением.Описание этого кортежа будет:

((Function), withValue: false)

...