Читаем Учись программировать полностью

Привет, как Вас зовут?

Chewbacca Привет, Chewbacca.

Вот это и есть ветвление. Если то, что находится после if, имеет значение true, мы выполняем код между if и end. Если то, что находится после if, имеет значение false, то не выполняем. Ясно и просто.

Я выделил отступом код между if и end просто потому, что, полагаю, таким образом легче отслеживать ветвление. Почти все программисты делают так, независимо от того, на каком языке они программируют. В этом простом примере может показаться, что от этого не слишком много пользы, но когда программа становится более сложной, это существенно меняет дело.

Часто нам бы хотелось, чтобы программа выполняла что-то, если выражение равно true, и нечто другое, если оно равно false. Для этого имеется else:

puts 'Я – предсказатель судьбы. Скажите мне своё имя:' name = gets.chomp if name == 'Chris'

puts 'Я предвижу у Вас в будущем великие дела.' else

puts 'Ваше будущее… О Боже! Посмотрите-ка на часы!' puts 'На самом деле мне пора уходить, извините!' end

Я предсказатель будущего. Скажите мне своё имя:

Chris

Я предвижу у Вас в будущем великие дела.

А теперь давайте попробуем другое имя…

Я предсказатель будущего. Скажите мне своё имя:

Ringo

Ваше будущее… О Боже! Посмотрите-ка на часы!

На самом деле мне пора уходить, извините!

Ветвление – это как будто мы подошли к развилке в коде: мы выберем дорожку к людям, чьё имя – Крис (name == ' Chris ' ), или же (else) мы выберем другой путь.

И совсем как ветви на дереве, у вас могут быть ветвления, которые сами содержат ветвления:

puts 'Здравствуйте и добро пожаловать в 7-й класс на урок английского.' puts 'Меня зовут миссис Габбард. А тебя зовут…?' name = gets.chomp

if name == name.capitalize

puts 'Садись, пожалуйста, ' + name + '.'

else

puts name + '? Ты имел в виду: ' + name.

capitalize + '

, не так ли?'

puts 'Ты что, даже не знаешь, как пишется

твоё имя??'

reply = gets.chomp

if reply == 'да'

puts 'Хммм! Ну хорошо, садись!'

else

puts 'УБИРАЙСЯ ВОН!!'

end

end

Здравствуйте и добро пожаловать в 7-й класс на урок английского.

Меня зовут миссис Габбард. А тебя зовут…?

chris

chris? Ты имел в виду: Chris, не так ли?

Ты что, даже не знаешь, как пишется твоё имя??

да

Хммм! Ну хорошо, садись!

Прекрасно, напишу его с заглавной буквы…

Здравствуйте и добро пожаловать в 7-й класс на урок английского.

Меня зовут миссис Габбард. А тебя зовут…?

Chris

Садись, пожалуйста, Chris.

Иногда можно запутаться, пытаясь «вычислить», куда же ведут все эти if–ы, else–ы и end–ы. Я делаю так: пишу end сразу же, когда напишу if. Так, когда я писал приведённую выше программу, сначала она выглядела вот так:

puts 'Здравствуйте и добро пожаловать в 7-й класс на урок английского.' puts 'Меня зовут миссис Габбард. А тебя зовут…?' name = gets.chomp

if name == name.capitalize

else

end

Затем я вставил комментарии – те вещи в коде, которые компьютер проигнорирует:

puts 'Здравствуйте и добро пожаловать в 7-й класс на урок английского.'

puts 'Меня зовут миссис Габбард. А тебя зовут…?'

name = gets.chomp

if name == name.capitalize

# Она говорит вежливо. else

# Она постепенно свирепеет. end

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных