18.4. Оператор case

18.4. Оператор case

Оператор case является многовариантным оператором. С его помощью можно искать значения, используя заданный шаблон. Если совпадение с шаблоном установлено, можно выполнять команды, основываясь исключительно на этом соответствии. Ниже приводится формат оператора case:

case значение in шаблон1)

команды1

;;

шаблон2)

команды2

;;

esac

Рассмотрим, как функционирует оператор case. После значения должен находиться предлог "in", а каждый шаблон должен завершаться правой скобкой. В качестве значения может применяться переменная или константа. Когда устанавливается соответствие с шаблоном, для этого шаблона выполняются все команды вплоть до символов ;;.

Поиск значения, совпадающего с шаблоном, выполняется по каждому шаблону. Если устанавливается соответствие с шаблоном, то оставшиеся шаблоны уже не проверяются. Эти шаблоны не принимаются во внимание даже после выполнения команд, относящихся к шаблону, с которым установлено соответствие. Если поиск соответствия по всем шаблонам оказался безрезультатным, можно принять значение с помощью символа звездочки. Этот символ используется для фиксации любых вводимых данных.

Шаблонная часть может содержать метасимволы. Аналогичным образом соответ–ствие с шаблоном устанавливается при обработке расширений имен файлов в командной строке:

* Произвольные символы

? Произвольный отдельный символ

[. . ] Произвольный символ из класса или диапазона

А теперь рассмотрим несколько примеров.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

case … in … esac

Из книги автора

case … in … esac Оператор case очень похож на if. Он отлично подходит для тех случаев, когда нужно проверить несколько условий, и вы не хотите для этого использовать несколько вложенных операторов if. Поясним на примере:#!/bin/bashx=5 # инициализируем х значением 5# проверяем значение х:case


Оператор Case Else

Из книги автора

Оператор Case Else Если значение свойства Туре не будет удовлетворять ни одному из критериев в операторах Case, то управление перейдет к оператору Case Else, который всегда находится в самом конце структуры Select Case. В предыдущем примере результатом этого будет сообщение об ошибке


Правило 52: Если вы написали оператор new с размещением, напишите и соответствующий оператор delete

Из книги автора

Правило 52: Если вы написали оператор new с размещением, напишите и соответствующий оператор delete Операторы new и delete с размещением встречаются в C++ не слишком часто, поэтому в том, что вы с ними не знакомы, нет ничего страшного. Вспомните (правила 16 и 17), что когда вы пишете такое


Оператор case

Из книги автора

Оператор case Конструкция case используется для ветвления, когда может существовать более двух возможных результатов условного выражения. Она также имеет синтаксис двух видов: case выражение ofзначение1: блок_кода1;…значениеN: блок_кодаN; end;илиcase выражение ofзначение1:


5.2.10.2. Инструкция CASE

Из книги автора

5.2.10.2. Инструкция CASE CASE case_value WHEN when_valueTHEN statement_list[WHEN when_value THEN statement_list] …[ELSE statement_list]END CASEИли: CASE WHEN search_condition THEN statement_list[WHEN search_condition THEN statement_list] …[ELSE statement_list]END CASEИнструкция CASE для сохраненных подпрограмм осуществляет сложную условную конструкцию. Если search_condition равно true,


1. Оператор Select – базовый оператор языка структурированных запросов

Из книги автора

1. Оператор Select – базовый оператор языка структурированных запросов Центральное место в языке структурированных запросов SQL занимает оператор Select, с помощью которого реализуется самая востребованная операция при работе с базами данных – запросы.Оператор Select


15.8.2. Оператор размещения new() и оператор delete()

Из книги автора

15.8.2. Оператор размещения new() и оператор delete() Оператор-член new() может быть перегружен при условии, что все объявления имеют разные списки параметров. Первый параметр должен иметь тип size_t:class Screen {public:void *operator new( size_t );void *operator new( size_t, Screen * );// ...};Остальные параметры


Пример 10-26. Оператор case допускает использовать подстановку команд вместо анализируемой переменной

Из книги автора

Пример 10-26. Оператор case допускает использовать подстановку команд вместо анализируемой переменной #!/bin/bash# Подстановка команд в "case".case $( arch ) in # команда "arch" возвращает строку, описывающую аппаратную апхитектуру.i386 ) echo "Машина на базе процессора 80386";;i486 ) echo "Машина на базе


18.4. Оператор case

Из книги автора

18.4. Оператор case Оператор case является многовариантным оператором. С его помощью можно искать значения, используя заданный шаблон. Если совпадение с шаблоном установлено, можно выполнять команды, основываясь исключительно на этом соответствии. Ниже приводится формат


18.4.1. Простой оператор case

Из книги автора

18.4.1. Простой оператор case Следующий сценарий отображает приглашение для ввода чисел от 1 до 5. Число передается оператору case, переменной ans присваивается значение ans оператора case, и значение ANS сравнивается с каждым шаблоном.Если соответствие установлено, команды из


18.4.4. Оператор case и передача командных параметров

Из книги автора

18.4.4. Оператор case и передача командных параметров Можно также использовать оператор case при передаче параметров в сценарии.В следующем сценарии при осуществлении проверки используется специальный параметр $#, который представляет число передаваемых аргументов. Если это


10.2. ОБЗОР CASE-СИСТЕМ

Из книги автора

10.2. ОБЗОР CASE-СИСТЕМ На сегодняшний день российский рынок программного обеспечения располагает следующими наиболее развитыми CASE-средствами:• Vantage Team Builder (Westmount I–CASE);• Designer/2000;• Silverrun;• ERwin+BPwin;• S-Designor;• CASE.Аналитик;• Rational Rose.Кроме того, на рынке постоянно появляются