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

wetsBed = ask 'Вы мочитесь в постель?' значение.

# Мы сохраняем возвращаемое

ask 'Вам нравится есть чимичангас?'

ask 'Вам нравится есть сопапиллас?'

ask 'Вам нравится есть тамалес?'

puts 'И ещё несколько вопросов…'

ask 'Вам нравится пить хорчата?'

ask 'Вам нравится есть флаутас?'

puts

puts 'Спасибо за то…'

puts

puts wetsBed

Здравствуйте! И спасибо, что Вы…

Вам нравится есть такое?

да

Вам нравится есть бурритос?

да

Вы мочитесь в постель?

никогда!

Пожалуйста, отвечайте «да» или «нет».

Вы мочитесь в постель?

нет

Вам нравится есть чимичангас?

да

Вам нравится есть сопапиллас?

да

Вам нравится есть тамалес?

да

И ещё несколько вопросов…

Вам нравится пить хорчата?

да

Вам нравится есть флаутас?

да

ПОЯСНЕНИЕ:

Спасибо за то… false

Неплохо, а? Мы смогли добавить больше вопросов (ведь добавлять вопросы теперь легко), но наша программа к тому же ещё и стала немного короче! Это значительное усовершенствование – мечта каждого ленивого программиста.

Думаю, было бы очень полезно привести ещё один пример метода. Мы назовём его englishNumber. Он будет принимать число, например, 22, и возвращать его английское название (в данном случае, строку 'twenty–two'). Для начала, пусть он работает только с целыми числами от 0 до 100.

(ПРИМЕЧАНИЕ: Этот метод использует новую хитрость для преждевременного возврата из метода с помощью ключевого слова return, а также представляет новый поворот в ветвлении: elsif. Из контекста должно быть ясно, как они работают.)

def englishNumber number

# Нам нужны только числа в диапазоне 0-100. if number < 0

return 'Пожалуйста, введите число ноль или больше.' end

if number > 100

return 'Пожалуйста, введите число 100 или меньше.' end

numString = '' # Эту строку мы будем возвращать.

# «left» – сколько от числа нам ещё осталось вывести.

# «write» – часть числа, которую мы выводим сейчас.

# write и left… поняли? :) left = number

write = left/100 # Сколько сотен осталось вывести?

left = left – write*100 # Вычтем эти сотни.

if write > 0

return 'one hundred'

end

write = left/10

#

Сколько десятков осталось вывести?

left = left – write*10

#

Вычтем эти десятки.

if write > 0

if write == 1 # Охо-хо…

# Поскольку мы не можем вывести «tenty–two» вместо «twelve»,

# нам нужно сделать особые исключения для них. if left == 0

numString = numString + 'ten' elsif left == 1

numString = numString + 'eleven' elsif left == 2

numString = numString + 'twelve' elsif left == 3

numString = numString + 'thirteen' elsif left == 4

numString = numString + 'fourteen' elsif left == 5

numString = numString + 'fifteen' elsif left == 6

numString = numString + 'sixteen' elsif left == 7

numString = numString + 'seventeen' elsif left == 8

numString = numString + 'eighteen' elsif left == 9

numString = numString + 'nineteen' end

# Поскольку уже мы позаботились о цифре для единиц,

# нам не осталось ничего для вывода. left = 0

elsif write == 2

numString = numString + 'twenty' elsif write == 3

numString

= numString + 'thirty'

elsif write

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

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

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

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

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

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

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

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

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