Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.

Читать: Учись программировать (на Ruby) - Крис Пайн на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

Возможно, вы недоумеваете, зачем может понадобиться целочисленное деление. Ну, скажем, вы собираетесь в кино, но у вас только 9 долларов. У нас в Портленде вы можете посмотреть фильм в кинотеатре «Багдад» за 2 бакса. Сколько фильмов вы сможете посмотреть там? 9/2… 4 фильма. 4.5 – это в данном случае, конечно, неправильный ответ; вам не позволят посмотреть полфильма и не позволят половине вас посмотреть целый фильм… Некоторые вещи нельзя разделить.

А теперь поэкспериментируйте сами с несколькими программами! Если вы хотите применить более сложные выражения, можете использовать скобки. Например:

puts 5 * (12–8) + -15

puts 98 + (59872 / (13*8)) * -52

5

–29802

Попробуйте ещё кое-что

Напишите программу, которая сообщит вам:

• сколько часов в году?

• сколько минут в десятилетии?

• ваш возраст в секундах?

• сколько шоколадок вы надеетесь съесть за свою жизнь?

Предупреждение: Вычисления в этой части программы могут потребовать очень много времени!

• А вот задание потруднее: Если я прожил 943 миллиона секунд, то каков мой возраст?

Когда вы закончите развлекаться с числами, давайте взглянем на буквы.

2. Буквы

Итак, мы узнали всё о числах, а как же насчёт букв? слов? текста?

Группы букв в программе мы называем строками. (Вы можете считать, что напечатанные буквы нанизаны друг за другом на бечёвку, как флажки.) Чтобы было легче увидеть, какие части кода – строки, я буду выделять их красным цветом. Вот несколько строк:

'Привет.'

'Ruby – потрясающий.'

'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'

#<TypeError: can't convert Fixnum into String>

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



Поделиться книгой:

На главную
Назад