Разное

Ruby учебник: Ruby — Викиучебник

Ruby — Викиучебник

Человек создан для творчества, и я всегда знал, что люблю творить. Увы, я обделён талантом художника или музыканта. Зато умею писать программы.

Я хочу, чтобы компьютер был моим слугой, а не господином, поэтому я должен уметь быстро и эффективно объяснить ему, что делать.

Юкихиро Мацумото

Программы должны быть написаны так, чтобы их могли читать люди, и лишь иногда так, чтобы их могли выполнять машины.

Абельсон и Сассман

Ру́би — интерпретируемый язык программирования высокого уровня. Обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, «сборщиком мусора» и многими другими возможностями, поддерживающими много разных парадигм программирования, прежде всего классово-объектную. Ruby был задуман в 1993 году (24 февраля) японцем Юкихиро Мацумото, стремившимся создать язык, совмещающий все качества других языков, способствующие облегчению труда программиста.

Этот учебник намерен осветить все тонкости программирования на Ruby. Повествование идёт «по спирали»: начиная с самых общих понятий, темы рассматриваются по нескольку раз с нарастающей подробностью.

Учебник пока неполон. Читайте иноязычную литературу по Ruby и с новыми знаниями присоединяйтесь к написанию. Да-да, каждый может участвовать: научитесь работать в вики-среде, с остающимися вопросами выступайте на странице обсуждения учебника.

Содержание

  • 1 Часть первая. Для ознакомления
  • 2 Часть вторая. Для начинающих
  • 3 Часть третья. Для продвинутых
  • 4 Часть четвертая. Для фанатов
  • 5 Приложения
  • 6 Дальнейшее чтение
    • 6.1 Русскоязычные ресурсы
    • 6.2 Русскоязычная литература
    • 6.3 Иноязычная литература
  • 7 См. также
Основные свойства Ruby
Глава об основных свойствах, возможностях и недостатках языка Ruby.
Начало работы
Глава о том, как скачать интерпретатор, запустить свою программу и увидеть хоть какой-то результат выполнения своей программы.
Переменные
Глава о правилах именования переменных и специфике их использования в языке Ruby.
Базовые типы данных
Глава содержит иерархию базовых типов и описание к ним.
Подробнее о числах
Глава о видах чисел, которые присутствуют в языке Ruby, а также подробно описаны методы для работы с ними.
Подробнее о массивах
Глава о массивах, методах работы с ними и описана специфика работы с ними в языке Ruby.
Подробнее об ассоциативных массивах
Глава об ассоциативных массивах, методах работы с ними и описывает базовые ситуации в которых они применимы.
Подробнее о строках
Глава о таком универсальном типе данных, как строки. Раскрывает секрет его универсальности, описывает методы и правила работы с ними.
Матрицы и векторы
Глава о представлении матричной алгебры.
Работа с файлами
Глава о работе с файловой системой.
Сети
Глава по работе с сетью. Приведено несколько листингов сетевых приложений.
Desktop (Tk)
Глава по работе с классами Tk для создания GUI-приложений.
Desktop (Qt4)
Глава по работе с классами Qt4 для создания GUI-приложений.
Desktop (wxRuby)
Глава по работе с классами wxWidgets для создания GUI-приложений.
Подробнее о методах
Глава о видах и способах создания методов в языке программирования Ruby.
Методика самопознания
Глава о метапрограммировании на языке Ruby.
Задачник
Сборник задач.
Практикум
Сборник задач с примерами решений.
/Практикум/Числа
/Практикум/Массивы
/Практикум/Итераторы
/Практикум/Строки
/Практикум/Правила
Справочник
Справочник по базовым классам.
Лицензия
Перевод Лицензии Ruby.
Жаргон
Придумываем слова с рубинами и рельсами.
Фольклор
Народное творчество любителей Ruby.
Избранное с RubyNews
К разграблению. Полезные статьи перемещаются в основную часть учебника, затем это приложение удалим.
Идеология
Программирования вообще и на Ruby в частности.

Дальнейшее чтение[править]

Русскоязычные ресурсы[править]

  • Rubycode.ru. Ruby code | ruby на русском
  • Railsclub.ru. Конференция разработчиков на Ruby on Rails
  • Учебные материалы МФТИ. Коллекция учебных материалов по Ruby на сайте МФТИ.
  • RubyFlow.ru — новости о Ruby, отобранные сообществом разработчиков. Это официальная русская версия проекта RubyFlow.com
  • railstutorial.ru — учебник по Ruby on Rails. — Перевод учебника Ruby on Rails Tutorial
  • Ruby on Rails на русском: Ruby. Статьи-гайды по Ruby. В других частях сайта есть статьи по RoR и другим технологиям.
  • RubyDeploy.ru. Как деплоить рельсы (Ruby on Rails). Коллекция инструкций

Русскоязычная литература[править]

  • Программирование на языке Ruby. Идеология языка, теория и практика применения. Автор Хэл Фултон. Прекрасная книга затрагивающая практически все аспекты программирования от азов до графический интерфейсов и WEB-ресурсов. (нет прямой ссылки)
  • Ruby — руководство пользователя. Перевод Александра Мячкова.
  • Книга «The Ruby Programming Language» Дэвида Фланагана и Юкихиро Мацумото была давно переведена на русский язык, но её выпуск был «заморожен» руководством издательства «Питер» из-за «неактуальности» темы. Похоже, представителям Ruby-сообщества удалось убедить издательство в обратном, и эта книга увидела свет в 2011-м году: Язык программирования Ruby. Пока это самое полное и глубокое описание языка Ruby, переведенное на русский язык, а один из ее авторов — не кто иной, как сам отец-основатель языка Ruby.

Иноязычная литература[править]

  • Why’s (Poignant) Guide to Ruby(англ.) — эта книга достойна чтения, даже если вам не нужно знание Ruby. Просто шедевр. Распространяется на условиях CC by-sa 2. 5. Частичный перевод здесь.[А здесь перевод продолжается]
  • Programming Ruby Дэйва Томаса(англ.). Многие пытались, но не перевели на русский. Первая редакция книги содержится в пакете «Установка за один щелчок» для Windows. Владельцы других ОС смогут найти её в Сети (например, в виде набора вебстраниц).
  • Ruby.on-page.net(англ.) — самый простой справочник по Ruby
  • Full Ruby on Rails Tutorial (GNU FDL 1.2)
  • Ruby Koans — «типичный» для ruby интерактивный учебник. Есть версия для unix и windows. Несмотря на то, что на английском языке, — достаточно доходчивый для самостоятельного изучения.
  • Rubyn

Библиотеки

Как и в большинстве языков программирования, в Ruby можно использовать широкий набор сторонних библиотек.

Большая часть из них реализована в форме гема. RubyGems – менеджер пакетов Ruby, созданный для упрощения процесса создания, распространения и установки библиотек (в каком-то смысле это распределенный пакетный менеджер, похожий, скажем, на apt-get, но нацеленный на Ruby приложения). С версии Ruby 1.9 RubyGems используются по умолчанию, хотя для предыдущих версий его нужно было устанавливать вручную.

Некоторые другие библиотеки реализованы как архивы (.zip или .tar.gz)

исходного кода. Процесс установки может различаться, обычно файл README или INSTALL содержит инструкции по установке.

Давайте взглянем на поиск библиотек и установку их для дальнейшего использования.

Поиск библиотек

Основное место, где хранятся библиотеки — RubyGems.org, предоставляет библиотеки Ruby в виде гемов. Вы можете поискать прямо на сайте или воспользоваться командой gem.

Используя команду gem search -r, вы можете проверить репозиторий RubyGems. Например, gem search -r rails вернет список относящихся к Rails библиотек. С опцией --local(-l) вы можете произвести локальный поиск среди установленных у вас гемов. Чтобы установить гем, используйте gem install [gem]. Просмотреть список установленных библиотек можно командой

gem list. Для более подробной информации о команде gem смотрите ниже или почитайте документацию RubyGems.

Также есть и другие источники библиотек. RubyForge был популярным домом для библиотек Ruby, но в последний год возросла популярность GitHub, как одного из главных хранилищ исходного кода приложений околорубиевой тематики. Намного чаще сейчас исходный код гема размещен на GitHub и сам гем опубликован на RubyGems.org.

The Ruby Toolbox это проект, который позволяет легче исследовать проекты на Ruby с открытым исходным кодом. Там есть категории для различных проблем разработки, содержащие большое количество информации о проектах, вроде даты релиза и активности разработчиков, а также зависимости и рейтинг проекта, основанный на его популярности на RubyGems.org и GitHub.com. Поиск поможет быстрей найти то, что вы ищете.

Еще пару слов о RubyGems

Это был краткий обзор команды gem для вашего повседневного использования.

Более подробная документация также доступна, она покрывает все аспекты данной пакетной системы.

Поиск среди доступных гемов

Команда search может быть использована для поиска гемов по названию. Гемы, название которых начинаются с заданной строки, будут отображены в результатах. Например, чтобы найти гемы, относящиеся к “html”:

$ gem search -r html
*** REMOTE GEMS ***
html-sample (1.0, 1.1)

Флаг --remote / -r показывает, что мы хотим проверить официальный RubyGems.org репозиторий (поведение по-умолчанию). С флагом --local / -l вы можете совершить локальный поиск среди установленных у вас гемов.

Установка гема

Когда вы знаете, какой гем вы желаете установить, например, популярные Rails:

$ gem install rails

Вы даже можете установить определенную версию библиотеки. Просто используйте флаг

--version / -v:

$ gem install rails --version 5. 0
Список всех гемов

Для просмотра всех локально установленных гемов:

$ gem list

Чтобы получить (очень длинный) список всех гемов, доступных на RubyGems.org:

$ gem list -r
Документация

Документация доступна в вашем терминале:

$ gem help

Например, gem help commands очень полезна, выводит список всех подкоманд команды gem.

Создание своего собственного гема

RubyGems.org содержит несколько инструкций по этой теме. Вы также можете посмотреть в сторону Bundler, полезный инструмент, который поможет вам управлять зависимостями приложений и может быть использован вместе с RubyGems.



Рубин за двадцать минут

1 | 2 | 3 | 4

Введение

Это небольшое руководство по Ruby, которое займет не более 20 минут. завершить. Предполагается, что у вас уже установлен Ruby. (Если у вас нет Ruby на вашем компьютере, установите его прежде чем вы начнете.)

Interactive Ruby

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

Откройте IRB (расшифровывается как Interactive Ruby).

  • Если вы используете macOS , откройте Terminal и введите irb , затем нажмите Enter.
  • Если вы используете Linux , откройте оболочку и введите irb и нажмите входить.
  • Если вы используете Windows , откройте Interactive Ruby из Рубиновый раздел вашего меню «Пуск».
 irb(main):001:0> 

Итак, он открыт. Что теперь?

Введите это: "Hello World"

 irb(main):001:0> "Hello World"
=> "Hello World" 

Руби повиновалась тебе!

Что только что произошло? Мы только что написали самое короткое в мире «Hello World»? программа? Не совсем. Вторая строка — это просто способ, с помощью которого IRB сообщает нам результат последнего вычисленного выражения. Если мы хотим распечатать «Hello World» нам нужно немного больше:

 irb(main):002:0> помещает «Hello World»
Привет мир
=> ноль 

ставит — это основная команда для вывода чего-либо в Ruby. Но потом что такое => ноль бит? Это результат выражения. ставит всегда возвращает nil, что является значением Ruby «абсолютно положительно-ничего».

Ваш бесплатный калькулятор здесь

Уже достаточно, чтобы использовать IRB в качестве базового калькулятора:

 irb(main):003:0> 3+2
=> 5 

Три плюс два. Достаточно легко. Как насчет трех умножить на два? Вы могли бы введите его, он достаточно короткий, но вы также можете подняться и изменить то, что вы только что ввели. Попробуйте нажать стрелка вверх на вашем клавиатуру и посмотреть, выводит ли она строку с 3+2 на ней. Если это так, вы можете использовать клавишу со стрелкой влево, чтобы двигаться сразу после знака + , а затем используйте backspace, чтобы изменить его на знак * .

 ирб(основной):004:0> 3*2
=> 6 

Далее попробуем три в квадрате:

 irb(main):005:0> 3**2
=> 9 

В Ruby ** — это то, как вы говорите «в силу». Но что, если вы хотите пойти другим путем и найти квадратный корень из чего-то?

 irb(main):006:0> Math.sqrt(9)
=> 3.0 

Хорошо, подождите, что это было последнее? Если вы догадались, «это выясняло квадратный корень из девяти», вы правы. Но давайте поближе познакомимся вещи. Прежде всего, что такое Math ?

Модули Группировка по темам

Математика — встроенный математический модуль. Модули выполняют две роли в Рубин. Это показывает одну роль: группировка похожих методов вместе под знакомое имя. Math также содержит такие методы, как sin() и tan() .

Далее точка. Что делает точка? Точка — это то, как вы определяете получатель сообщения. Что за сообщение? В данном случае это sqrt(9) , что означает вызов метода sqrt , сокращение от «квадратный корень» с параметр 9 .

Результатом вызова этого метода является значение 3.0 . Вы можете заметить, что это не просто 3 . Это потому, что в большинстве случаев квадратный корень из число не будет целым числом, поэтому метод всегда возвращает число с плавающей запятой.

Что, если мы захотим запомнить результат некоторых математических вычислений? Назначить результат в переменную.

 irb(main):007:0> a = 3 ** 2
=> 9
ирб(основной):008:0> б = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b)
=> 5.0 

Как бы это ни было хорошо для калькулятора, мы уходим от традиционное сообщение Hello World о том, что предполагается начальное обучение сосредоточиться на… так что давайте вернемся к этому.



Учебное пособие по Ruby для начинающих: изучите Ruby прямо сейчас!

Лучший способ выучить Ruby

Если вы решили изучить Ruby и стать разработчиком Ruby, то вы попали по адресу.

Вам предстоит многому научиться, но не позволяйте этому помешать вам начать.

Учиться — это прекрасно.

Сейчас:

С чего начать?

Вы должны начать с изучения основных концепций программирования .

Такие вещи, как:

  • Переменные
  • Структуры данных
  • Условные операторы

Вы найдете много новых слов в своем путешествии, не беспокойтесь об этом , вы узнаете по пути.

Вы также должны понимать, что язык программирования является формальным языком.

Что это значит?

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

Но если вы сделаете такую ​​ошибку в Ruby или любом другом языке программирования, вы получите ошибку.

Вы должны понять правила языка , а затем правильно их применять.

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

Это нормально:

Вы изучаете что-то новое, и пройдет некоторое время, прежде чем оно начнет погружаться в .

Один из ключей — повторение.

Работайте над каждой темой, пока не поймете, насколько она полезна в целом, как ее использовать, как объяснить ее другим людям.

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

Ты можешь это сделать!

Давайте начнем с первого шага…

Как загрузить и установить Ruby

Если вы используете Windows, вам нужно перейти на этот сайт, чтобы загрузить Ruby:

https://rubyinstaller. org/downloads/

Вам нужна рекомендуемая версия (она выделена жирным шрифтом ), которая на момент написания этой статьи равна 9.0020 Ruby+Devkit 2.6.5-1 (x64) .

Просто скачайте и установите его, как и любую другую программу.

Если ошибки не появляются, то на вашем компьютере установлен Ruby!

Теперь чтобы начать писать ваши программы Ruby вам нужно открыть терминал .

Для этого откройте меню Windows и введите cmd.exe .

Затем нажмите Enter.

Это будет выглядеть примерно так:

На этом этапе вы должны быть в состоянии ввести ruby ​​-v внутри этого окна и распечатайте там текущую версию Ruby.

Установка Ruby для пользователей Linux и Mac

Если вы работаете в Linux или MacOS, возможно, у вас уже установлен Ruby.

Вы можете подтвердить это, открыв терминал (найдите «терминал» в меню), затем введите ruby ​​-v .

Это должно напечатать вашу версию Ruby.

Как это :

 ruby ​​2.6.5p144 (версия 67812 от 10.01.2019) [i686-linux] 

Если у вас нет версии Ruby, обратитесь к этому сайту за более подробной информацией о том, как установить Ruby для вашей конкретной версии Linux или Mac.

Давайте напишем код!

Теперь, когда вы настроены, я хочу, чтобы вы открыли irb .

Это программа Ruby, которая позволяет вам вводить код Ruby и сразу же видеть результаты.

Это отличный способ попрактиковаться и изучить Ruby.

Чтобы открыть irb , вы должны ввести слово irb внутри этого черного окна терминала Я открывал тебя раньше.

Нажмите ввод.

Затем вы должны увидеть что-то вроде этого :

 irb(main):001:0> 

Начните с ввода irb :

 5 + 5 

Затем нажмите Enter.

Вы увидите результат этой операции.

«Но я могу сделать это с помощью программы-калькулятора!»

Конечно.

Смысл этого в том, чтобы вы привыкли печатать в окне терминала.

И вы будете часто использовать числа в своих программах Ruby:

  • В качестве данных (цена, возраст, год и т. д.)
  • Считать вещи
  • Для доступа к информации

Мы только начинаем, так что не волнуйтесь, если это покажется вам слишком простым.

Другие способы запуска кода Ruby

Помимо использования такой программы, как irb, вы можете запускать код Ruby другими способами.

Например, вы можете сохранить код внутри файла, оканчивающегося на .rb , затем используйте команду ruby ​​ + имя файла.

Like this :

 ruby ​​app.rb
 

Обратите внимание, что это должно быть сделано внутри одного из тех окон терминала, где вы можете вводить команды, пока вы НЕ запускаете irb .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *