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

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

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

Если соответствие установлено, команды из шаблонной части выполняются до тех пор, пока не появятся символы ;;. Тогда на экран выводится команда, которая информирует пользователя о сделанном выборе. Затем выполнение оператора case завершается, поскольку совпадение с шаблоном установлено.

Далее выполняются операции, находящиеся после оператора case.

Если соответствие не найдено, с помощью шаблона * выполняется прием всей информации. Затем отображается сообщение об ошибке.

$ pg caseselect

#!/bin/sh

# caseselect

echo -n "enter a number from 1 to 5 :"

read ANS

case $ANS in

1) echo "you select 1"

;;

2) echo "you select 2"

;;

3) echo "you select 3"

;;

4) echo "you select 4"

;;

5) echo "you select 5"

;;

*) echo "`basename $0`: This is not between 1 and 5" >&2

;;

exit 1

esac

Если этот сценарий выполняется с различными вводимыми данными, получим:

$ caseselect

enter a number from 1 to 5 : 4 you select 4

С помощью шаблона * выполним прием информации, с которой не установлено соответствия:

$ caseselect

enter a number from 1 to 5 :pen

caseselect: This ls not between 1 and 5

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

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

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

5.8.3 Оператор case

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

5.8.3 Оператор case Формат оператора case таков: case word in [[(] pattern [| pattern]…) list;;]… esacКоманда case вначале производит раскрытие слова word, и пытается сопоставить результат с каждым из образцов pattern поочередно. После нахождения первого совпадения дальнейшие проверки не производятся,


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

Из книги Базы данных: конспект лекций автора Автор неизвестен

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


Оператор case

Из книги Delphi. Учимся на примерах автора Парижский Сергей Михайлович

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


18 CASE и познание

Из книги Человеческий фактор в программировании автора Константин Ларри Л


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

Из книги Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ автора Мейерс Скотт

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


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

Из книги MySQL: руководство профессионала автора Паутов Алексей В

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.5.3. Предложение case в Ruby

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

1.5.3. Предложение case в Ruby Во всех современных языках есть та или иная форма многопутевого ветвления. В C/C++ и Java это предложение switch, а в Pascal — предложение case. Служат они одной и той же цели и функционируют примерно одинаково.Предложение case в Ruby похоже, но при ближайшем


Оператор Case Else

Из книги VBA для чайников автора Каммингс Стив

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


case … in … esac

Из книги Краткое введение в программирование на Bash автора Родригес Гарольд

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


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

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

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


18.4. Оператор case

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

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


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

Из книги Справка по SQL автора

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


Оператор CASE

Из книги C++ для начинающих автора Липпман Стенли


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

Из книги Язык программирования ABC PASCAL автора Цветков Александр Станиславович

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