«Программирование на языке Ruby»

2079

Описание

Настоящее пособие содержит описание языка программирования Ruby и предназначено прежде всего для студентов первого курса направления «Прикладная математика и информатика» и специальности «Математическое обеспечение и администрирование информационных систем». Оно может быть также полезно студентам инженерных и экономических специальностей, изучающих программирование, а также учащимся старших классов.

1 страница из 14
читать на одной стр.
Настроики
A

Фон текста:

  • Текст
  • Текст
  • Текст
  • Текст

Шрифты

  • Аа

    Roboto

  • Аа

    Garamond

  • Аа

    Fira Sans

  • Аа

    Times

  • Аа

    Iowan

  • Аа

    San Francisco

  • Аа

    SF Serif

  • Аа

    New York

  • Аа

    Helvetica Neue

  • Аа

    Arial

  • Аа

    Georgia

  • Аа

    Times New Roman

  • Аа

    Courier

  • Аа

    Courier New

  • Аа

    Menlo

  • Аа

    SF Mono

стр.

Программирование на языке Ruby (fb2) файл не оценен - Программирование на языке Ruby 189K скачать: (fb2) - (epub) - (mobi) - Наталья Анатольевна Роганова - Евгений Александрович Роганов


Е.А. Роганов, Н.А. Роганова

Программирование на языке Ruby

1. Основы языка Ruby

Ruby, названный так в честь драгоценного камня рубина, – один из самых молодых языков современного промышленного программирования. Первая версия интерпретатора была обнародована создателем языка, японским программистом Юкихиро Мацумото (Yukihiro Matsumoto) в 1995 году. Официальный сайт, посвящённый языку Ruby, размещён по адресу <http://www.ruby-lang.org>, а много дополнительной полезной и интересной информации можно найти в Википедии – свободной Интернет-энциклопедии (<http://en.wikipedia.org/wiki/Ruby_programming_language>).

Ruby – это чрезвычайно мощный, динамический, чисто объектно-ориентированный язык, при разработке которого основное внимание было уделено удобству программирования на нём. Многие удачные идеи, использованные ранее в таких языках, как Perl, Python, Smalltalk, LISP и некоторых других, в Ruby удалось гармонично объединить. Благодаря этому язык легко изучать, на нём очень легко и приятно писать программы, а в уже написанные программы легко вносить необходимые изменения.

В МГИУ с 2003 года Ruby является первым из языков, которые изучают студенты-программисты. Его используют для написания простейших программ на занятиях по информатике старшеклассники подшефных школ нашего университета. Ruby применяется сотрудниками информационно-вычислительного центра университета для генерации индивидуальных заданий по математике и информатике для студентов и слушателей факультета довузовского образования. Он же позволяет с минимальными затратами сил и времени решать многие другие задачи организации эффективного учебного процесса. Наконец, именно на Ruby реализована основная часть информационной системы, позволившей автоматизировать работу университета в целом (см. [6]).

В этой небольшой книге мы не сможем рассказать обо всех особенностях языка, однако уже после знакомства с текущей главой читатель сможет писать небольшие программы на Ruby. Следующая глава позволит научиться применять этот язык для решения типичных задач обработки текстов и простейшего системного администрирования, а далее будет рассказано, как использовать язык Ruby для веб-программирования.

1.1 Установка Ruby. Если Ваша операционная система – Linux или Mac OS X, то, скорее всего, интерпретатор языка Ruby вместе со всеми необходимыми библиотеками уже установлен. Команда ruby -v в этом случае выведет информацию о версии интерпретатора, подобную следующей: ruby 1.8.4 (2005-12-24) [i686-linux].

Для Microsoft Windows существует так называемый One-Click Installer, который можно взять с сайта <http://rubyinstaller.rubyforge.org>.

Подходящий RPM–пакет для операционной системы Linux легко найти на сайте <http://www.rpmfind.net>, набрав в поле поиска слово ruby.

Так как Ruby – свободный программный продукт, то его исходные тексты доступны и могут быть получены с сайта <http://www.ruby-lang.org>. Установка из исходных текстов требует определённых знаний, но, как правило, сводится к выполнению лишь нескольких команд, подобных следующим: tar xvfz ruby-1.8.4.tar.gz; cd ruby-1.8.4;./cofigure; make install.

1.2 Первые программы. Программа на языке Ruby представляет собой последовательность выражений и инструкций (expressions and statements), которые размещаются обычно по одному (одной) на строке. Точка с запятой используется для отделения друг от друга инструкций на одной и той же строке, обратный слэш \ в конце строки позволяет продолжить запись выражения на следующей строчке, а комментарии начинаются с символа # и продолжаются до конца текущей строки.

Пример 1. Напишите программу, печатающую строку-приветствие.

puts "Здравствуй мир!"

Эта программа содержит единственную инструкцию – вызов метода puts, который печатает на стандартный вывод данный ему список объектов, состоящий в нашем случае из одной строки – объекта класса String. Если указанный в рамке текст разместить в файле hello.rb, то команда ruby hello.rb запустит программу и мы увидим приветствие на экране, который является стандартным выводом по умолчанию. Перенаправить вывод в файл с именем res.txt можно командой ruby hello.rb > res.txt.

Ruby является объектно-ориентированным языком, но допускает написание программ в директивном стиле. Можно считать, что наша программа содержит команду (директиву) «напечатать строку», хотя на самом деле всё устроено немного сложнее. Те сущности (называемые объектами), с которыми имеет дело программа на языке Ruby, в процессе выполнения программы взаимодействуют между собой, посылая друг другу сообщения (называемые также вызовами методов), содержащие иногда дополнительную информацию (объекты-параметры). Вызов метода m объекта obj с параметром arg записывают в виде obj.m(arg) или просто obj.m arg[1], а единственная инструкция нашей программы является сокращением от STDOUT.puts "Здравствуй, мир!". Теперь уже ясно, что сообщение «напечатать строку» посылается объекту STDOUT – стандартному выводу.

Первые программы

Пример 2. Напишите программу, печатающую сумму первых n членов начинающейся с единицы геометрической прогрессии со знаменателем q.

Рассмотрим сначала решение, основанное на использовании известной формулы для суммы геометрической прогрессии

S = (qn – 1)/(q – 1).

Запуск этой программы даёт результат 7, а заменив 3 на 64 и запустив программу ещё раз, мы получим знаменитое «шахматное» [2] число 18446744073709551615.


q=2; n=3

puts(q**n-1)/(q-1)


   В Ruby (в отличие от многих других языков) легко работать с большими числами.


Программа содержит три инструкции, первые две из которых присваивают переменным q и n значения 2 и 3 соответственно. Отметим, что сами переменные объектами не являются, а лишь указывают (ссылаются) на различные объекты (в данном случае на числа – объекты класса Fixnum). Далее вычисляется выражение (q**n-1)/(q-1), которое неявно преобразуется в строку и печатается методом puts на стандартный вывод. Вот развёрнутая форма второй инструкции программы: STDOUT.puts ((q**n-1)/(q-1)).to_s, где метод to_s, применяемый к числу, возвращает представление этого числа в виде строки.

Кроме чисел и уже встречавшихся нам строк в языке Ruby существует ещё ряд базовых типов (см. стр. 42), для работы с которыми можно использовать много различных операторов (см. стр. 48), включая стандартные арифметические операторы и оператор присваивания. Имена локальных (другие нам встретятся чуть позже) переменных должны начинаться с маленькой латинской буквы и могут содержать также большие буквы, цифры и символ подчёркивания. Имена констант (например, STDOUT) должны начинаться с большой буквы. Более полная информация об использовании имён приведена на стр. 45.

Другое решение этой задачи, использующее цикл while, требует чуть больших комментариев. Переменные s и i используются в этой программе как аккумулятор для накопления суммы прогрессии и счётчик цикла соответственно. Вначале они обнуляются, а на каждой итерации цикла, выполнение которого продолжается, пока величина i остаётся меньше n, значение s увеличивается на очередной член прогрессии, а значение i – на единицу. После завершения цикла остаётся только напечатать результат. Заметим, что выражение i += а эквивалентно i = i + a.


q=2; n=3

i=s=0

while i

     s += q**i

     i += 1

end

puts s


Комментарии к книге «Программирование на языке Ruby», Наталья Анатольевна Роганова

Всего 0 комментариев

Комментариев к этой книге пока нет, будьте первым!

РЕКОМЕНДУЕМ К ПРОЧТЕНИЮ

Популярные и начинающие авторы, крупнейшие и нишевые издательства