Или же вы можете просто установить его так, чтобы только вы могли использовать его. Переместите файл, который вы загрузили, во временный каталог, например, в $HOME/tmp
. Если файл называется ruby–i.6.7.tar.gz
, вы сможете открыть его командой tar zxvf ruby–i.6.7.tar.gz
. Перейдите в каталог, который только что был вами создан (в нашем примере – в каталог cd ruby–1.6.7
).
Сконфигурируйте вашу установку, набрав команду ./configure --prefix=$HOME)
. Затем наберите на консоли команду make, которая соберёт ваш интерпретатор Ruby. Это может занять несколько минут. После того, как всё будет выполнено, напечатайте make install
, чтобы установить его.
Потом вы пожелаете добавить каталог $HOME/bin
в список путей для поиска команд, отредактировав ваш файл $HOME/.bashrc
с настройками командного интерпретатора. (Вам нужно будет выйти из системы и зайти снова, чтобы изменения вступили в силу.) После того, как вы сделали это, проверьте успешность установки командой ruby –v
. Если она сообщит, какая версия Ruby у вас установлена, тогда вы можете удалить файлы в каталоге $HOME/tmp
(или там, куда вы их разместили).
Вот и всё! Вы готовы, чтобы учиться программировать.
1. Числа
А сейчас, когда вы всё установили, давайте напишем программу! Откройте ваш любимый текстовый редактор и наберите на клавиатуре следующее:
puts 1+2
Сохраните вашу программу (да, это программа!) под именем calc.rb (.rb – это то, что мы обычно пишем в конце имени программы, написанной на Ruby). А теперь выполните вашу программу, набрав ruby calc.rb
в командной строке. Она должна вывести на экране число 3. Видите, программировать не так уж трудно, не правда ли?
Знакомство с puts
Так что же происходит в этой программе? Я уверен, что вы смогли догадаться, что делает 1+2, и наша программа, в принципе, такая же, как эта:
puts 3
слово puts просто выводит на экран всё, что следует за ним.
Целые и плавающие
В большинстве языков программирования (и Ruby не является исключением) числа без десятичной точки называются целыми, а числа с десятичной точкой обычно называются числами с плавающей точкой или проще – плавающими. [По сути, это дробные десятичные числа, представленные в компьютере в двоичном виде. – Прим. перев.]
Вот несколько целых чисел:
5
–205
99 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 0
0
А вот несколько чисел с плавающей точкой:
54.321 0.001 –205. 3884
0.0
На практике в большинстве программ плавающие числа не используются, только целые. (В конце концов, никто не хочет прочитать 7.4 сообщений электронной почты, просмотреть 1.8 web–страниц или послушать 5.24 любимых песен…) Числа с плавающей точкой больше используются для научных целей (физических экспериментов и тому подобное) и для ЗЭ-графики. Даже большинство программ для денежных расчётов применяют целые числа: в них просто учитываются суммы в копейках! [в оригинале: «в пенсах»– Прим. перев.]
Простая арифметика
К этому моменту у нас есть всё необходимое, чтобы сделать простой калькулятор. (В калькуляторах всегда используются плавающие числа, поэтому если вы хотите, чтобы ваш компьютер просто работал как калькулятор, вы также должны использовать числа с плавающей точкой.) Для сложения и вычитания мы используем + и -, что мы уже видели в программе. Для умножения мы используем *, а для деления мы используем /. На большинстве клавиатур эти клавиши располагаются среди цифровых клавиш в правой её части. Если у вас уменьшенная клавиатура или ноутбук, то вы можете просто нажать клавиши Shift и 8 или / (та же клавиша, что и клавиша ?). Давайте попробуем немного расширить нашу программу calc.rb. Наберите на клавиатуре, а затем выполните следующее:
puts 1.0 + 2.0
puts 2.0 * 3.0
puts 5.0 – 8.0
puts 9.0 / 2.0
Вот что возвращает эта программа:
3.0
6.0 –3.0 4.5
(Пробелы в программе не важны; они просто делают код легче для чтения.) Что ж, в том, что мы увидели, нет ничего удивительного. А теперь давайте испробуем на целых числах:
puts 1+2 puts 2*3 puts 5–8 puts 9/2
В основном, то же самое, правда?
3
6
–3
4
Хм… кроме последнего! Но когда вы выполняете арифметические действия с целыми числами, вы получаете целочисленные ответы. Когда ваш компьютер не может получить «правильный» ответ, он всегда округляет его. (Конечно, 4 и есть правильный ответ в целочисленной арифметике для выражения 9/2; хотя, возможно, это не тот ответ, который вы ожидали.)
Возможно, вы недоумеваете, зачем может понадобиться целочисленное деление. Ну, скажем, вы собираетесь в кино, но у вас только 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.