Предисловие, первые шаги

    Ruby— один из самых молодых языков, но в Японии уже успел потеснить, таких гигантов как Python и Perl. Ruby работает на многих платформах, таких как Linux, многие реализации Unix, Windows 9x/2000/NT, MacOS и многие другие.

    Ruby
    Ruby, получил своё название благодаря драгоценному камню— Рубину.

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

    Книга Ruby the Object-Oriented Scripting Language, сразу после выхода стала бестселлером. За последние годы появилось множество книг по Ruby, к сожалению, не имеющие русского перевода.

    Скачать Ruby для Windows, можно например здесь: One-Click Installer


    Начнем с простого!

    Файлы, содержащие программы на языке руби имеют расширение .rb

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


    Итак, создаем файл hello_world.rb и пишем нашу первую программу:
    puts «Hello World!»



    Сохраним и запустим.
    ruby hello_world.rb


    В результате выполнения программы в командном окне будет напечатана фраза: Hello Worl!


    Комментарии в Ruby.

    В Ruby, есть несколько типов комментариев.
    Однострочные комментарии выглядят так:
    #Это комментарий
    puts «HabraHabr!»


    Многострочные вот так:
    =begin
    Все, что располагается между строками begin и end является комментарием.
    =end
    puts «Hello HabraPeople!»



    Первая часть написана Коровкиным Павлом, в основе статьи, знания полученные в МГИУ. Если статья найдет своих читателей, будет написано продолжение.

    С уважением.

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 72

      +13
      Продолжайте. Если я читая Хабрахабр и не прилагая умственных усилий смогу выучить Руби - буду благодарен.

      ( хотя до сих пор не придумал зачем он мне :( )
        0
        В следующий раз, планирую написать про объекты и методы.
          +6
          Если будешь писать столь малыми кусочками, то до объектов доберёшься, в лучшем случае, через год.
            +1
            В этом есть зерно правды. Задумка хорошая, однако, нужно описывать все большими порциями, иначе это все превращаться в справочник для школников.

            Вообще, спасибо. Самому было лень читать про Ruby, а до этого момента всегда находился в заблуждении, что Ruby - надстройка над PHP. Так что просветили.
          +1
          Эээ, не прилагая усмтвенных усилий вы не сможите выучить ровным счетом ничего %). Даж таблицу умножения).
          +1
          Лаконичность понравилась. Надеюсь этот пост положит начало интересной серии (и не выродится в что-то типа "...за 21 день для чрезмерно занятых") :) Ставлю, кажется, первый плюс и желаю удачи!
            0
            Спасибо, я тоже думаю, что серия будет интересна.
            +2
            Хотелось бы еще прочитать о каких-нибудь преимуществах Ruby перед Java например (за исключением простоты использования). Например есть ли функционал для работы с памятью, можно ли создавать веб-приложения? Или что-нибудь в этом роде...
              0
              Конечно можно, есть решение получившее большую популярность. Сравнение для web смотрите в видео http://www.habrahabr.ru/blog/webdev/1778…
                0
                Первые части точно не будут содержать сравнительные характеристики, они будут содержать основы языка Ruby.
                0
                очень хочу прочитать продолжение
                • НЛО прилетело и опубликовало эту надпись здесь
                    +1
                    Я думаю, тут много людей в ладах с английским, однако желание почитать статьи на родном- русском языке, я думаю больше.
                    • НЛО прилетело и опубликовало эту надпись здесь
                      0
                      За мануал спасибо, просмотрел правда очень бегло, но стиль изложения понравился сразу (+иллюстрации! за них особое спасибо авторам; первый раз встречаю такой подход к созданию учебника по программированию). Обязательно почитаю на досуге.
                        –1
                        Вообще-то, книга — говно как учебник по Ruby, но как развлекательное чтиво — супер.
                        Если цель именно разобраться с языком, лучше почитать что-нибудь другое.
                        0
                        Ruby не молодой язык, он был выпущен в 1995 году, если сравнивать с тем же python то они почти ровестники, посмотри на постер истории языков http://www.oreilly.com/news/graphics/pro…
                          0
                          Это, если сравнивать с python, а по сравнению с другими, он всё же молодой.
                            0
                            Ага, это же с чем ещё сравнивать :)
                            Ruby - 1993
                            PHP - 1995
                            Python 1991
                            Даже Perl 1987.
                            Так с чем сравнивать? Basic? C? Pascal? :))))
                            Помоему заблуждение про то что руби молодой язык пошло от того что люди путают Ruby и Ruby On Rails считая что ROR это Ruby который действительно молодой и который просто фреймворк написанный на Ruby.
                              0
                              Хочу заметить, что несмотря на зарождение Ruby в 1993, развиваться он начал НОРМАЛЬНО только с появление RoR, а это уже далеко не 1993.
                              Остальные же (и ПхП тоже) начали своё бурное развитие сразу же.
                              Питон как и Руби немного припоздал, но сегодня он, по сравнению с Руби, - если не дедушка (коим всегда быдет являться Перл), но в отцы он уж точно годится. Не по приемственности естесственно (за исключением итераторов), но по возрасту.
                                0
                                Какраз о роли ROR я и писал ниже (там же и посмотрите линки). И о том что популярен не руби а рельсы тоже думаю понятно.
                                Да и вообще о какой популярности можно говорить? что на руби написано кроме BaseCamp(папы этих самих рельс)?
                                Я незнаю в чём так лучше руби чем питон, рельсы чем джанго. Наверно лишь только тем что руби медленнее чем питон раза в 2 и тем что рельсы медленнее раза в 3-4 чем джанго. Так зачем гнаться за маркетингом закрыв глаза?
                                P.S. я сам примерно месяц-два назад выбирал и думал что подучить как альтернативу PHP - выбрал Python и об этом не жалею.
                          0
                          Поддерживаю. Посоветовал бы только создать для этого отдельный блог.. И поделиться ссылкой на викиучебник по Ruby.
                            0
                            Про блог идея вообщем не плохая, а при чем тут, извините Википедиа? Из- за того, что я сфорвардил картинку с их сайта?
                              0
                              Довольно объёмный и, видимо, хороший учебник. Просто, видимо, если бы это писал я — то обязательно бы подобрал хороших ссылок в помощь начинающим
                              0
                              Кстати, блог то я создать не могу, так- что увы и ах.
                                0
                                Попробуйте теперь :)
                                +2
                                За примеры кода в таком стиле:
                                moe_4ucJIo = 18
                                mou_maccuB = [1,2,3,4]
                                авторы этого "учебника" подлежат немедленному расстрелу. Я из-за этого его так прочитать и не смог :\
                                0
                                Хоть, я и не программист но тем не менее очень интересно - продолжайте пожалуйста.
                                  0
                                  Могли бы не спрашивать, ждём продолжение. Устраиваем полезный флешмоб - всем {абром учим Ruby
                                    0
                                    Хабром, простите :)
                                    +2
                                    Не совсем понятно: «начиная с версии 7.2, он входит в стандартную поставку Linux». С седьмой версии чего? Ruby? Или какого-то дистрибутива Linux? Если последнее, то очень неточно сказано, ибо Linux есть ядро, и версия его — 2.6. Я глубоко сомневаюсь, что всякий дистрибутив включает Ruby.
                                      –6
                                      Может у меня что- то не в порядке с логикой? Или у вас?
                                      Давайте читать вместе.
                                      Ruby работает на многих платформах, таких как Linux.
                                      Нет сомнений, что на чем работает?
                                      Дальше.
                                      а начиная с версии 7.2, он входит в стандартную поставку Linux
                                      По смыслу (мне кажется видно), что он- это Ruby, так как о нем идет речь в предложении.
                                      И, что Ruby входит в стандартную поставку Linux, тоже...
                                        0
                                        Дело в том, что Linux это ядро, а не операционная система.
                                        Ruby 7.2 включили в ядро?
                                          0
                                          да, поддерживаю, мне тоже интересно, что за стандарт такой у линуксоедов появился
                                          0
                                          "Стандартная поставка linux" - это что-то очень странное, к этой фразе претензии у всех.
                                            +1
                                            Зачем так умничать на вполне справедливое замечание.
                                            Последняя версия ruby - 1.8.6, до седьмой версии ему ещё жить и жить. А 7.2 больше похоже на версию какого-нить дистрибутива линукса.
                                            По всей видимости, это Вы что-то напутали.
                                              0
                                              Прикольно получается, автор пишет о предмете который сам не очень хорошо знает. Или быть может это перевод?
                                                0
                                                Вероятнее всего речь идёт о дистрибутиве Red Hat 7.2.
                                                  0
                                                  В точку.
                                                +1
                                                ну зачем же писать про то, о чем вы понятия не имеете.
                                                нет никакого linux 7.2 и нет никакой стандартной поставки.
                                                  +1
                                                  судя по скриншотам, он действительно не имеет понятия..... и испралять текст тоже, судя по всему, не собирается
                                                  0
                                                  Да нет, я и правда запутался. Во-первых, почему тогда последний выпуск Ruby маркирован как 1.8.6 (см. http://www.ruby-lang.org/)? Во-вторых, что в вашем понимании может быть «стандартной поставкой Linux»?

                                                  Вот такая у меня логика.
                                                0
                                                Не подскажите существуют ли редакторы (уверен что существуют) для этого языка?
                                                Scite подсвечивает его синтаксис?
                                                  0
                                                  в большинство редакторов возможно добавить правила подсветки синтаксиса - гугли для своего редактора. На память только приходит TextMate, но он только для MacOSX.
                                                    +1
                                                    vim
                                                    0
                                                    Продолжайте, очень интересно, как раз сейчас занялся изучением Ruby
                                                      0
                                                      Даешь :)
                                                        0
                                                        После того как попробуете руби - попробуйте питон :)
                                                          0
                                                          Никто нигде никогда почему то не пишет что руби на самом деле не так уж хорош как выглядит его код. Ну по логике не может быть язык очень простым и очень хорошим одновременно. Вся шумиха по поводу руби помоему поднята на волне ROR. Причём как мне кажется шумиха поднята не сама по себе а кто то, не будем тыкать пальцами, как то посодействовал этому.
                                                          Ну какой бы то нибыл фреймворк мне кажется нереально завоевать какую то часть поклонников и какая так часть из них написала бы книги. А книг по Ruby on Rails издано мноого, может даже больше чем по самому руби.
                                                          А вообще можно посмотреть сравнения и тесты, чтобы увидеть насколько хорош руби:
                                                          benchmarks
                                                          Результаты тестирования шести ведущих фреймворков на производительность
                                                            0
                                                            Вы почему-то пишете «хорош«, а поздразумеваете — «быстр» или «производителен». Это далеко не всегда одно и то же.
                                                              0
                                                              Ха, я поставил кавычку в другую сторону!
                                                                –2
                                                                Ах значит хорош это значит красивый код?
                                                                Незнаю, чем может быть хорош ещё руби, но все и везде пишут о красоте и простоте кода.
                                                                Код это средство достижения поставленной задачи - написания программы/сайта. Важен не процесс а результат. Так вот для пользователя результат это программа/сайт/скрипт и ему совершенно безразлично насколько там красив код внутри. Важно чтобы всё работало быстро и стабильно.
                                                                Если уж сравнивать питон и руби то не сильно уж они и отличаются, как например от них отличается PHP.
                                                                Раз уж вы пишите код а не создаете продукт, то тут и мысли в другую сторону работают.
                                                                  0
                                                                  Если для Вас «хорош» всегда означает «производителен», пишите всё на C (C++?).
                                                                  И прекратите истерику.
                                                            0
                                                            "Интересная" такая статья — почти ниочём… :) Такие простые примеры можно привести на любом языке. Поэтому остаётся неясно, в чём-же простота языка?
                                                              0
                                                              Язык как язык. Не проще, но и не сложнее других. Со своими закидонами, но и не без приятностей.
                                                              0
                                                              Да, продолжайте!
                                                              я бы хотел тоже узнать больше о Руби!
                                                              Расскажите еще немного о синтаксисе и где его применяют? практическое применение...
                                                                0
                                                                Скриптовый язык. Для всякой мелочи в основном. Я лично текстовые файлы обрабатываю.
                                                                  0
                                                                  понятненько :) тогда он мне не очень нужен :)
                                                                  но для общего развития узнать что-то новенькое можно :)
                                                                0
                                                                жду продолжения!
                                                                  0
                                                                  Может стоит заменить "Все, что располагается между строками begin и end является комментарием." на "Все, что располагается между строками =begin и =end является комментарием."?
                                                                  Или "знак равно" добавлен для чего-то другого?
                                                                    0
                                                                    Почему Вы советуете начать изучение с Ruby? Те кто так сделает, в будущем будет сложно смотреть на СИ_подобные языки. Впрочем как и наоборот иногда бывает.
                                                                      0
                                                                      По-моему, всё равно, с чего начинать. Если начинать с Си, то в будущем будет сложно смотреть на ассемблер :)
                                                                        0
                                                                        Ну вот как раз мой случай. На Ruby смотреть интересно и не свосем ясно. Ассемблер после СИ хорошо идёт. Там только надо знать архитектуру процессора, а как он генерируется из СИ легко понять.
                                                                      0
                                                                      Жаль, что не имею желания ответит всем.
                                                                      Скажу коротко, я пишу статьи в основном основываясь на своих познаниях+ на том, что я где- то прочел.
                                                                      Если у вас есть КОНКРЕТНЫЕ замечания, что и где исправить, пишите.
                                                                      Если вам нравится придираться к словам- придирайтесь.

                                                                      С уважением.
                                                                        +1
                                                                        Для тех, кто рвётся поскорее учить Ruby, отмечу, что Ruby критикуют за (см. http://en.wikipedia.org/wiki/Ruby_progra…):
                                                                        1. медленную скорость исполнения программ (характерно отставание от Python раза в два), которую обещают исправить примерно через год с переходом на интерпретатор YARV;
                                                                        2. за самодельную и в некоторых ситуациях проблемную реализацию потоков (Green Threads), которую обещают убрать в следующих версиях;
                                                                        3. отсутствие встроенной поддержки Unicode и многобайтных кодировок, обещают сделать в Ruby 2.0, а пока надо использовать дополнительные библиотеки.
                                                                        И наконец, недостаток, который в версии 2.0 исправлен НЕ БУДЕТ:
                                                                        4. У Ruby нет спецификаций. Вообще нет. И не планируется. Есть только одна полная реализация языка на Си. Вот на неё и равнение.

                                                                        Впрочем, для того, чтобы наваять что-нибудь «на коленке» Ruby подходит.
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                          0
                                                                          Учел пожелания многих, недочеты подправил, всем спасибо.
                                                                            0
                                                                            Еще пожелания, если не задолбали, конечно.

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

                                                                            Выглядит как ответ школьника на уроке литературы.

                                                                            В результате выполнения программы в командном окне будет напечатана фраза: Hello Worl!
                                                                              0
                                                                              Поправил, спасибо
                                                                            +1
                                                                            было бы здорово, если бы осветили Ruby on Rails
                                                                              0
                                                                              Уважаемые, а как вы думаете, человек, который вообще никогда в жизни не занимался никаким программированием долго будет учиться Ruby и созданию первых проектов на нем, да и вообще, сможет ли?
                                                                                0
                                                                                это уже от него напрямую зависит и от его способностей!

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

                                                                                Самое читаемое