Как работает case в if-case
Старый программист на Си мог бы помочь с Swift.
Я не понимаю что-то о синтаксисе if-case. Например.:
if case 20...30 = age {
print ("in range.")
}
case 20...30 = age
представляется условным испытанием дляif
заявление. Поэтому я был изначально смущен, когда увидел оператор присваивания ('=') вместо оператора сравнения ('==').
Хорошо, подумал я, это, вероятно, означает, чтоcase
оператор на самом деле является вызовом функции, которая возвращает логическое значение. Возвращаемое значение будет затем удовлетворять критерию сравнения вif
заявление.
В качестве эксперимента я попыталсяcase
утверждение, как обычный условный тест и заключенные в скобки. Свифт с радостью приметif (x == 5)
или жеif (true)
, Ноif (case 20...30 = age)
генерирует ошибку. Итакcase
утверждение не похоже на функцию.
Мне просто любопытно понять, что здесь происходит. Любое понимание будет с благодарностью.