Охрана (программирование)

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

Охра́на (охраня́ющее выраже́ние) — логическое выражение, которое предназначено для ограничения вычислительных процессов и направления их по определённому направлению в зависимости от условия охраны. Обычно используется в функциональных языках программирования (например, Haskell).

Примеры охраняющих выражений

Все последующие охраняющие выражения приведены на функциональном языке Haskell, в котором эта технология используется очень часто. Все такие выражения выделены в кодах полужирным начертанием.

Пример 1 — Списочные включения

Функция divisors возвращает список делителей заданного числа n. Во второй строке определения показана охрана, которая ограничивает выбор элемента списка делителей x только таким значением, которое делит исходный параметр n без остатка.

divisors n = [x | x <- [1..(n - 1)],
                  n `mod` x == 0]

Пример 2 — Охрана в теле функции

Функция sign возвращает знак заданного числа x. Охраняющие выражения записаны после символов (|). Они позволяют выбрать ту или иную альтернативу при вычислении знака числа. Такой способ охранения часто используется вместо механизма сопоставления по образцу, когда в функции нет возможности явно описать образец (например, в случае, если функция является обобщённой прикладной функцией для обработки значений некоторого типа, являющегося экземпляром какого-либо класса).

sign x | x < 0  = -1
       | x == 0 = 0
       | x > 0  = 1


en:Guard (computing) fr:Garde (informatique) ja:ガード (プログラミング)

Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....