код Если число больше x, сделать y = количество - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь создать приложение для iOS, которое рассчитывает годовой доход и вклад 401 (k).Я не могу понять, как кодировать функцию, чтобы она ограничивала вклад в 401 (k) до 18500, несмотря на процент дохода, вложенного сотрудником.Я знаю, что это супер базовый, но я работал над этим часами, и я не могу заставить его работать.Любая помощь приветствуется.

func your401 () -> int {
    if employee401kContribution < 18500 {
        return employee401kContribution
    }
    else do {return = 18500 }
}

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Вы можете сделать это несколькими способами

// Closest to your original code
func your401() -> Int {
    if employee401kContribution < 18500 {
        return employee401kContribution
    } else {
        return 18500
    }
}

// A shorter version using the conditional ternary operator
// return (condition) ? (value if true) : (value if false)
func your401() -> Int {
    return employee401kContribution < 18500 ? employee401kContribution : 18500
}

// Most compact of all. This stays close to the English description
// "the employee's 401k contribution or 18500, whichever is less"
func your401() -> Int {
    return min(employee401kContribution, 18500)
}
0 голосов
/ 26 июня 2018

Ты действительно близко!У вас просто есть несколько маленьких вопросов:

  1. Вы не ставите знак равенства после return.Это специальная форма, и она не использует знак равенства.Просто return 18500 (или вы можете даже назвать его return 18_500).
  2. Вы не ставите do после else.Просто if { ... } else { ... }
  3. Тип возвращаемого значения - int, но тип данных, который вы ищете - Int.Идентификаторы, такие как имена типов и переменных, чувствительны к регистру.
  4. your401 не является описательным именем.Вы должны назвать эту функцию, чтобы более четко сообщить, что именно она делает.

Вот что вы получите, если исправите ее:

func nameMeBetter() -> Int {
   if employee401kContribution < 18_500 {
       return employee401kContribution
   } else {
       return 18_500
   }
}

Еще проще, вы можете реализовать это с помощьюSwift.min(_:_:):

func nameMeBetter() -> Int {
   return min(employee401kContribution, 18_500)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...