Невозможно вызвать значение нефункционального типа 'Int' - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть этот кусок кода в Swift (4.2):

let totalQNbr = theArray.reduce(0) {
    (total, arg1) -> Int in
    let (CustomType, Int) = arg1
    let y = arg1.0.val_Number,
    x:Int = Int(y) // Problem line !!!
    return total + x
}

В строке, где я делаю обычное преобразование типов, прокомментировал // Строка проблемы !!!

Я получаю это сообщение об ошибке:

Cannot call value of non-function type 'Int'

Кто-нибудь может увидеть, что я должен делать здесь?

Я видел пару связанных постов, но нет четкого решения.

1 Ответ

0 голосов
/ 06 февраля 2019

Это отличный пример того, что происходит, если вы не соблюдаете соглашение об именах, согласно которому имена переменных должны начинаться со строчной буквы.

Вы объявляете локальную переменную Int - которая не являетсяфункция - в

let (CustomType, Int) = arg1

Скрывает структуру Int. Не делай этого .Объявите переменные, всегда начинающиеся со строчной буквы.

let (customType, int) = arg1

Однако обе переменные все равно не используются.

И не аннотируйте типы, которые компилятор может вывести

x = Int(y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...