Вставка переменных функции в массив и получение максимального значения - PullRequest
1 голос
/ 11 ноября 2019

У меня проблема с быстрыми строками и массивами. В функции я хотел бы определить 3 числа (скажем, x, y и z), а затем сформировать массив с этими переменными, и хочу вернуть число max () в массиве. Тем не менее, я получаю ошибку с типом. (Это требует от меня ввода текста и т. Д. Я публикую нижеприведенный код. Кто-нибудь может взглянуть на это, пожалуйста:


    func AAA(x: Int, y: Int, z:Int) -> Int {
        let BBB: [Int] = [x, y, z]
        var greatest: Int? = BBB.max()
        return greatest
    }

Я получаю сообщение об ошибке "самой большой" переменной из-за ее Int? типа, но когда я конвертирую Int? в Int, я не могу вызвать максимальное значение массива BBB.

1 Ответ

3 голосов
/ 11 ноября 2019

Возврат не является обязательным -> Int, и вы возвращаете greatest, что составляет Int?, поэтому вам нужно

  func AAA(x: Int, y: Int, z:Int) -> Int {
      return [x, y, z].max()!
  }
...