В этом документе коротко собраны ключевые материалы по языку Ruby позволяющие быстро научиться использовать основные преимущества этого языка.
- http://rubykoans.com/ вход в язык, то с чего надо начать примерно 20 часов работы. Это материал от Jim Weirich создателя Rake аналога Make для Ruby.
- https://rubymonk.com/ - интерактивное обучение, советую пройти хотябы превый раздел. Тоже крайне важно.
- https://www.manning.com/books/the-well-grounded-rubyist-third-edition - первые 4 главы.
- https://youtu.be/K8uhD8mtorE блоки в Ruby, великолепный материал от Alex Chaffee.
- https://www.codewars.com необходимая практика, решение задачь 7kyu и изучение решений других пользователей.
- Practical Object Oriented Design in Ruby: An Agile Primer книга от Sandi Metz важный источник по ООП, рекомендую к прочтению. Это Ключь.
- https://youtu.be/URSWYvyc42M лекция Sendi Metz наглядно объясняющаяя модель ООП.
В Ruby модель Small Talk там нет привычных методов и свойств. Там сообщения к объектам, это понятно объяснено в крайних двух источниках, это коренное отличие Ruby от других популярных языков JS, Python, C++, PHP.
1+1
это на самом деле 1.+(1)
. К объекту 1
посылается сообщение +
c аргументом 1
. По этому сообщения можно посылать без скобочек array.pop
.
Так как нет специально выделенных свойств, а есть более гибкий механизм сообщений, то для получения значений переменных объектов используются attr_accessors, которые понятны в свете Объектной модели Small Talk.
Список источников может показаться громоздким. Но прохождение его последовательно, в указанных объемах избавит от иматывающих часов дезориентации и непонимания. Тут последовательно собраны ступени которые позволят максимально быстро начать ориентироваться в Ruby. Список начинается с коротких теоретических выкладок, потом инструмент для практической отработки на малых задачах, и теоретический труд по общей организации приложений. В общем все что нужно.
Влад, в этом документе я собрал последовательно те источники по изучению Ruby которые максимально быстро помогут программисту встать в строй, и начать продуктивно работать с Ruby.
- Первая часть RubyKoans, Ruby Monk по Блоки в Ruby, это описание необходимых инструментов.
- Вторая часть codewars.com - надо решить хотя бы 100 задач 7kyu и посмотреть как решают их другие, это изучение приёмов языка.
- Третья часть Sendi Metz это уже правила проектирования приложений.
Это тот путь который я прошел с 2016 года в языке Ruby, и он позволяет обогнуть самые коварные подводные камни. Какое-то время я тратил на отсиживание на отмелях, починки после встречи с подводными камнями. Тут же чистый фарватер.