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

'5 – это моё любимое число..

а какое ваше?'

'Снупи восклицает: «#%^?&*@!' ', когда он запинается.'

'            '

' '

Как видите, строки могут содержать знаки пунктуации, цифры, символы и пробелы… не только одни буквы. А в последней строке совсем ничего нет; такую строку называют пустой строкой.

Мы использовали команду puts, чтобы напечатать числа; давайте опробуем её с несколькими строками:

puts 'Привет, мир!' puts ''

puts 'До свидания.'

Привет, мир!

До свидания.

Всё отлично отработало. А теперь попробуйте вывести несколько своих строк.

Строковая арифметика

Точно так же, как вы выполняли арифметические действия с числами, вы можете выполнять арифметические действия со строками! Ну, почти так же… Во всяком случае, вы можете складывать строки. Давайте попробуем сложить две строки и посмотреть, что нам покажет puts.

puts 'Я люблю' + 'яблочный пирог.'

Я люблюяблочный пирог.

Опаньки! Я забыл поместить пробел между 'Я люблю' и 'яблочный пирог.'. Пробелы обычно не имеют значения, но они имеют значение внутри строк. (Правду говорят: «компьютеры делают не то, что вы хотите, чтобы они делали, а только то, что вы велите им делать».) Давайте попробуем снова:

puts

' Я

люблю

' + 'яблочный

пирог.'

puts

' Я

люблю'

+ ' яблочный

пирог.'

Я люблю яблочный пирог.

Я люблю яблочный пирог.

(Как видите, неважно, к какой из строк добавлять пробел.)

Итак, вы можете складывать строки, но вы также можете умножать их! (На число, во всяком случае.) Посмотрите:

puts 'миг ' * 4

мигаю глазами

(Шучу, конечно… на самом деле, она выводит вот что:)

миг миг миг миг

Если подумать, это имеет безупречный смысл. В конце концов, 7*3 действительно означает 7+7+7, поэтому 'му'*3 означает в точности 'му' + 'му' + 'му'.

11 или ' 12 '

Прежде, чем мы двинемся дальше, мы должны убедиться, что понимаем различие между числами и цифрами. 12 это число, а '12' это – строка из двух цифр.

Давайте немного поиграем с этим:

puts

12

+

12

puts

' 12 '

+

' 12 '

puts

' 12

+

12 '

24 1212 12 + 12

А как насчёт этого:

puts 2 * 5 puts '2' * 5

10 22222

2 * 5

Эти примеры были довольно простыми. Однако, если вы не будете очень осторожными, смешивая в своей программе строки и числа, у вас могут возникнуть…

Сложности

К этому моменту вы может быть попробовали некоторые вещи, которые не желают работать. Если ещё нет, то вот несколько из них:

puts '12' + 12 puts '2' * '5'

#

[#<Ошибка типа: невозможно преобразовать Целое к Строке> – Прим. перев.]

Мммдааа… сообщение об ошибке. Дело в том, что вы действительно не можете прибавить число к строке или умножить строку на другую строку. В этом не больше смысла, чем вот в таких выражениях:

puts 'Бетти' + 12 puts 'Фред' * 'Джон'

Вот ещё чего следует остерегаться: вы можете написать в программе ' поросёнок '*5, поскольку это просто обозначает 5 экземпляров строки ' поросёнок', соединённых вместе. Однако, вы не можете написать 5*'поросёнок', поскольку это обозначает 'поросёнок' экземпляров числа 5, что просто-напросто глупо.

И, наконец: а что, если я хочу, чтобы программа напечатала 'Ты шикарная!'? Можно попробовать так:

puts ''Ты шикарная!''

Ну так вот, это не будет работать; я даже не буду пробовать выполнить это. Компьютер подумал, что мы закончили строку. [После второго апострофа. – Прим. перев.] (Вот почему хорошо иметь текстовый редактор, который расцвечивает синтаксис для вас.) Так как же дать понять компьютеру, что мы желаем остаться внутри строки? Нам нужно экранировать символ апострофа вот так:

puts '\'Ты шикарная!\''

'Ты шикарная! '

Обратная косая черта – это символ экранирования (escape character). Другими словами, если в строке стоит обратная черта и другой символ [которые образуют так называемую 'escape-последовательность». – Прим. перев.], то они оба иногда трансформируются в один новый символ. Но две вещи, которые обратная черта всё- таки экранирует, это апостроф и сама обратная черта. (Если хорошенько подумать, то символы экранирования должны всегда экранировать себя.) Ещё несколько примеров, я думаю, будут здесь к месту:

puts

'\'Ты шикарная!\''

puts

'обратная черта в конце строки:

\\ '

puts

'вверх\\вниз'

puts

'вверх\вниз'

'Ты шикарная!'

обратная черта в конце строки:

\

вверх\вниз

вверх\вниз

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

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

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

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

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

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

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

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

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

Все жанры