Описание тега guard-statement

Оператор защиты используется для передачи управления программой за пределы области действия, если одно или несколько условий не выполняются.
2 ответа

Почему охранников называют "охранниками"?

Кто-нибудь знает, каково происхождение названия для конструкции, называемой охранниками? func x | cond1 -> expr1 ... | condN -> exprN Статья в Википедии https://en.wikipedia.org/wiki/Guard_(computer_science) дает некоторую историческую перспек…
1 ответ

Ожидаемое выражение в условном выражении

Я написал следующую функцию и получаю следующую ошибку в заявлении охранника. ожидаемое выражение в условном выражении func containsNearbyDuplicate(_ nums: [Int], _ k: Int) -> Bool { // form a dictionary key is the number, value is the index var …
22 фев '19 в 21:47
2 ответа

Использование assert в блоке else оператора guard

Я сталкивался с этим в инструкциях по внедрению Google Analytics: guard let gai = GAI.sharedInstance() else { assert(false, "Google Analytics not configured correctly") } Я никогда не думал, что возможно иметь утверждение в предложении else без возв…
11 фев '19 в 20:56
3 ответа

Ошибка с функцией подачи квадранта

Я попытался сделать функцию, чтобы дать имя квадранта при вводе координат х и у. Тем не менее, я получаю сообщение об ошибке: "Ошибка разбора на входе '=' Не удалось, модули загружены: нет. " Я попытался добавить "| иначе..", но это все равно не сра…
14 мар '16 в 19:32
2 ответа

Ошибка let let: инициализатор для условного связывания должен иметь необязательный тип, а не 'String'

Я получил фатальную ошибку. Вот ошибка: Инициализатор для условного связывания должен иметь необязательный тип, а не 'String' Ниже моего кода, который я использовал: @IBAction func signUpButtonPressed(sender: UIButton) { guard let email = emailTextF…
16 июн '16 в 11:37
2 ответа

Как получить тестовое покрытие для провала заявления гвардии

Я начал писать модульные тесты iOS сегодня с подходом BDD. У меня есть вопрос относительно guard заявления и получение 100% покрытия кода. У меня есть следующий код, который обрабатывает преобразование Data в Customer объекты. internal final class f…
01 янв '17 в 22:40
1 ответ

Возвращая значение из оператора do в haskell охранника

Я пытаюсь найти, если какая-то буква уже используется в любой строке в списке строк. Если да - выберите следующую букву для сравнения. Если нет - верните это письмо и обновите первоначальный список. Для проверки в списке я использую: check:: [String…
10 апр '16 в 10:36
3 ответа

Охранная операция Swift 2

Я использую Swift 2 и Xcode 7. Я хотел бы знать разницу между if condition { ... } else { ... } а также guard ... else ...
30 ноя '15 в 19:39
2 ответа

Неправильное использование охранного заявления для замены нулевой проверки

Я делаю что-то очень простое, чтобы просто привыкнуть к Swift (исходя из objc) - я хочу вернуть нужный узел в связанный список, используя guard заявление и switch заявление. Я явно неправильно использую guard заявление, потому что мой else предложен…
2 ответа

(Swift) Вызов функции в постановке охраны

Я пытаюсь вызвать функцию с именем 'nextPage' в защитном операторе, но она говорит, что '()' не конвертируется в 'Bool'. Что мне нужно сделать, чтобы вызвать эту функцию @IBAction func nextPressed(_ sender: Any) { let geoCoder = CLGeocoder() geoCode…
21 сен '17 в 15:46
4 ответа

Как использовать охрану в swift вместо

Как использовать 'guard' в swift. Я просмотрел много статей о 'guard'. Но у меня не было четкого представления об этом. Пожалуйста, дайте мне ясную идею. Пожалуйста, дайте мне пример выходных данных для следующего утверждения "if". if firstName != "…
02 апр '16 в 07:32
2 ответа

Haskell IO отступ

Я попытался переписать ту программу, которая работает: nameIOite :: IO () nameIOite = do putStrLn "What's your name ?" name <- getLine if name `elem` ["Simon","John","Phil"] --if name == "Simon" || name == "John" || name == "Phil" also works but …
12 янв '19 в 14:04
2 ответа

Условно привязка к существующей недвижимости

Я ищу способ улучшить этот шаблон кода: struct Struct { let i: Int init?(i: Int?) { guard let unwrappedI = i else { return nil } self.i = unwrappedI } } Было бы неплохо удалить unwrappedI временная переменная Какие-либо предложения?
3 ответа

Мой первый охранник, здесь уместно?

Я играю со Swift 2, и я просматриваю свой код для случаев, когда я защищаю, и я мог бы хотеть использовать guard, Вот один... var mods : String = "" let modpath = NSBundle.mainBundle().pathForResource(filename, ofType: "ini", inDirectory: "mods/game…
23 июн '15 в 17:35
1 ответ

Как использовать охрану вне функции?

Можно ли использовать guard вне функции? Следующее выдает ошибку, что необходимо использовать return или break, но в этом случае это невозможно. var var1 = String?() guard let validVar = var1 else { print("not nil") }
29 сен '15 в 04:10
1 ответ

Несоответствия заявления гвардии

// Выполнение let first с последующей проверкой bool в выражении guard приводит к ошибке компиляции self.action = { [weak self] in guard let `self` = self, data.isJSON() else { return } // Сначала выполняем проверку bool, а затем пусть работает self…
26 май '16 в 19:53
3 ответа

Использование Codable-Decodable и Guard

Я хочу проанализировать данные из вызова API и отобразить их в моем приложении. Я добился этого так... Сначала структура сделана так... struct GalleryDetails { let id: Int let customerID: String let title: String let description: String init(id : In…
22 июн '18 в 06:29
2 ответа

Быстрое преобразование 1.2 в 2.0 - защита против, если позволено

Я пытаюсь преобразовать некоторый код из Swift 1.2 в 2.0. У меня есть код ниже в Swift 1.2 //enable OR disable keys. if(discountAmountTextField.text.isEmpty){ keypadView.disableNotRequiredKeys() }else{ keypadView.enableRequiredKeys() } Есть два спос…
01 окт '15 в 16:07
1 ответ

Swift: сделать отладку проще, имея возможность отлавливать возвращаемое значение в инструкции defer

Поэтому я люблю объявлять переменные для хранения возвращаемого значения, а затем возвращать указанную переменную в следующей строке, что облегчает отладку моего кода, я могу просто установить точку останова на возвращаемой строке и посмотреть, како…
15 июл '16 в 11:00
2 ответа

Как swift guard определяет true или false при использовании оператора =

Изучите swift 3.1, прочитав Руководство по языку (developer.apple.com). Я узнал, что в swift оператор присваивания (=) не возвращает значение. В главе " Поток управления" приведен пример охранного оператора: func greet(person: [String: String]) { gu…
09 апр '17 в 13:42