Rubyn: различия между версиями
Строка 129: | Строка 129: | ||
Пожелание непосредственно к автору учебника по Ruby (которому при его написании явно не хватало возможности работы с кириллицей) - пожалуйста, доработайте этот раздел, чтобы он стал полноценным первым учебником по РубиНу... :-) |
Пожелание непосредственно к автору учебника по Ruby (которому при его написании явно не хватало возможности работы с кириллицей) - пожалуйста, доработайте этот раздел, чтобы он стал полноценным первым учебником по РубиНу... :-) |
||
А Вы, соответственно, его автором !!! |
|||
Версия от 08:19, 28 декабря 2007
Это первое пособие по работе с языком РубиН - RubyN - RubyN(ational) русскоязычным расширением популярного языка программирования Ruby. В целях экономии времени этот раздел представляет видоизмененный оригинальный викиучебник по Ruby.
Человек создан для творчества, и я всегда знал, что люблю творить. Увы, я обделён талантом художника или музыканта. Зато умею писать программы.
Я хочу, чтобы компьютер был моим слугой, а не господином, поэтому я должен уметь быстро и эффективно объяснить ему, что делать.
Юкихиро Мацумото
Программы должны быть написаны так, чтобы их могли читать люди, и лишь иногда так, чтобы их могли выполнять машины.
Абельсон и Сассман
Ру́би — интерпретируемый язык программирования высокого уровня. Обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, «сборщиком мусора» и многими другими возможностями, поддерживающими много разных парадигм программирования, прежде всего классово-объектную. Руби был задуман в 1993 году (24 февраля) японцем Юкихиро Мацумото, стремившимся создать язык, совмещающий все качества других языков, способствующие облегчению труда программиста.
Этот учебник намерен осветить все тонкости программирования на Ruby. Повествование идёт «по спирали»: начиная с самых общих понятий, темы рассматриваются по нескольку раз с нарастающей подробностью.
Учебник пока неполон. Читайте иноязычную литературу по Ruby и с новыми знаниями присоединяйтесь к написанию. Да-да, каждый может участвовать: научитесь работать в вики-среде, с остающимися вопросами выступайте на странице обсуждения учебника.
Отличия РубиНа от Ruby
Самое первое и главное отличие - при написании переменных, классов, методов Вы теперь не ограничены 128 первыми символами ANSI. Вам доступны все 256 8-битных символа. В данной реализации используется наиболее общеупотребительная кодировка Windows-1251.
Все ключевые слова, классы и медоты Ruby полностью доступны в Рубине, но кроме того все они имеют русскоязычные эквиваленты. Например: для ~ for
В Рубине в оригинальный язык Ruby добавлено одно ключевое слово equivalent ~ эквивалент, которое по функциональной нагрузке весьма схоже с ключевым словом alias ~ дримя, но все же имеет существенное отличие.
В дальнейшем, если вы читаете что-либо о языке Ruby, то все это в полной мере относится и к языку РубиН. В случае отличий это всегда будет оговорено и будет использовано название РубиН.
Основные свойства Ruby
Интерпретируемый язык:
- Возможность прямых системных вызовов
- Мощная поддержка операций со строками и регулярными выражениями (правилами)
- Мгновенное проявление изменений во время разработки
- Отсутствие стадии компиляции
Простое и быстрое программирование:
- Не надо объявлять переменные
- Переменные динамически типизированы
- Простой и последовательный синтаксис
- Автоматическое управление оперативной памятью.
Объектно-ориентированное программирование:
- Всё есть объект. Даже имя класса есть экземпляр класса
Class
- Классы, методы, наследование, полиморфизм, инкапсуляция и т. д.
- Методы-одиночки
- Примеси при помощи модулей (возможность расширить класс без наследования)
- Итераторы и блоки
- Широкие возможности метапрограммирования
Удобства:
|
Недостатки:
|
Начало работы
От читателя требуется общее знание компьютеров, включая навыки работы с файловой системой и текстовыми файлами. Прежде чем начать программировать на Руби, нужно установить интерпретатор и обустроить для себя удобную среду для создания программ. Для испытания кода из учебника можно воспользоваться сетевым интерактивным интерпретатором.
Об установке и настройке рабочей среды Руби читайте приложение Шаблон:ССЫЛКА.
Программы на языке Ruby суть текстовые файлы, не подлежащие компиляции. Для их исполнения нужен интерпретатор, который мы уже установили. Чтобы запустить программу на Ruby, необходимо вызвать интерпретатор и передать ему имя файла с программой в качестве параметра.
Чтобы запустить программу с именем TecToBa9_nporpamma.rb
(программы на Руби обычно имеют расширение .rb
), в Unix-e нужно вызвать консоль и набрать:
% ruby TecToBa9_nporpamma.rb
или если Вы используете кодировку Windows-1251
% rubyn тестовая_программа.рб
а сделав соответствующую ссылку и
% рубин тестовая_программа.рб
Также возможна настройка популярнейшей UNIX-оболочки mc таким образом, что вы сможете стартовать программу просто нажав Enter на имени программы.
Чтобы запустить программу из Windows нужно дважды кликнуть на файл с программой. Чтобы окно не исчезало и были видны результаты надо перед местами выхода из программы поставить команду ожидания ввода
СТДВВ.ввс
илиСТДВВ.ввстр
илиSTDIN.getc
Первая программа
Откройте редактор и напишите программу. По традиции первая программа должна просто выводить приветствие миру:
п "Привет, Мир!"
вывстр "Привет, Мир!"
Сохраните её в файл привет_мир.рб
и запустите. На экране будет красоваться надпись:
"Привет, Мир!" Привет, Мир!
На этом традиционную часть можно считать выполненной.
Полигон для испытания программ
Чтобы посмотреть результат выполнения большинства примеров из учебника, не обязательно создавать файл. Достаточно использовать полигон для испытания программ на Руби irb
, который входит во все дистрибутивы и сам написан на Руби. Запускается он командой
% irb
Полигон — это рубиговорящая командная строка. Она показывает вам результат выполнения каждой строки кода:
% irb(main):001:0> [1,2,3,4] % => [1, 2, 3, 4]
Поскольку любая функция в Ruby может быть переопределена в любой момент, важнейшая часть написания большинства небольших программ — это именно эксперименты на полигоне. Посмотрим, например, какие есть методы у обычной строки:
% irb(main):002:0> "некий текст".методы % => ["клон", "gem", "strip!", "член?", ...]
если же есть желание как-то упорядочить, то сделайте
% irb(main):002:0> "некий текст".методы.сорт % => ["%", "*", "+", "<", ...]
Или посчитаем:
% irb(main):002:0> 14 * 5 % => 70
Для выхода с полигона — набрать выйти или exit.
Внимание! По причине того, что интерактивный терминал (полигон) поддерживает автозаполнение при введении табуляции, исходные тексты программ на Ruby принято «отбивать» пробелами (чтобы текст программы можно было просто скопировать в терминал и увидеть, как он работает). Если в irb скопировать программу, «отбитую» табуляциями, интерактивный терминал будет прерывать каждую строчку ввода чтобы предложить варианты автозаполнения. |
К сожалению, с РубиНом этот номер (копирование-вставка) зачастую не проходит, т.к. кодировки Web-страниц не обязательно Windows-1251, так, к примеру эта страничка автоматом создана в utf-8. |
Привет, Мир!
Пожелание непосредственно к автору учебника по Ruby (которому при его написании явно не хватало возможности работы с кириллицей) - пожалуйста, доработайте этот раздел, чтобы он стал полноценным первым учебником по РубиНу... :-) А Вы, соответственно, его автором !!!
В связи с последним замечанием есть также пара пожеланий к авторам сайта.
1. Для всех страничек сделать возможность выбора кодировки utf-8 или windows-1251
2. Добавить поддержку РубиНа
программа
.