Покорим Ruby вместе! Капля вторая

    Продолжаем изучать Ruby? Так точно!

    В первой части мы получили обзорные знания о Руби и Рельсах и, надеюсь, решили, нужно ли нам это, или нет. Так как мы взялись за язык основательно необходимо обустроить рабочее учебное место. Нам нужны: сам интерпретатор Ruby, фрэймворк Rails, база данных (MySQL, думаю, будет лучшим выбором) и непосредственно среда разработки, которая должна сделать процесс программирования приятным, удобным и увлекательным ;)



    Среда для разработки


    Как и в других интерпретируемых языках создавать готовые программы можно и в Блокноте, однако же мы всерьёз схватились за Руби ;) Стоило бы, наверное, погуглить IDE для языка, провести какое-то тестирования производительности и функциональности. Но мы же непрофессионалы, так что ищем наиболее универсальное, надежное, качественное, проверенное решение. И оно есть: это Ruby in Steel для Microsoft Visual Studio 2005/2008. Да, это сугубо коммерческий, закрытый продукт только для Windows. Но, во-первых, это знакомая IDE, которая верно будет вам служить в будущем, во-вторых она не базируется на Java, что положительно отражается на скорости работы (это важно для слабых компов, вроде моего), в-третьих, полнофункциональная trial-версия работает 60 дней, чего, я надеюсь, нам будет достаточно для нашего курса.

    Если же вы отдаете предпочтение другим ОС, то несомненно стоит взглянуть на свободный кроссплатформенный NetBeans IDE 6.0 Ruby.

    Выбранная вами среда разработки в дальнейшем особого значения не имеет, однако процесс установки компонентов я буду освещать для Ruby in Steel — он достаточно прост, так как вы можете скачать All-in-One Installer — готовый пакет с бесплатным Visual Studio 2008 и всем необходимым для нашего учебного места.

    После загрузки распакуйте архив и запустите Setup. Отметьте нужные пакеты (в большинстве случаев стоит оставить все по умолчанию), нажмите Install и только успевайте нажимать Next и Finish в появляющихся окнах установщиков. В процессе установки будут загружены и установлены последние Rails, поэтому консольные окна не закрываем и ждем, когда появится «Press any key to continue...». Для MySQL можем задать запуск в виде сервиса Windows и установить пароль рута.

    Никакой дополнительной конфигурации не требуется — просто запускаем свежеустановленный Visual Studio.

    Первый проект


    Проект в Ruby in Steel создаем как обычно в VS: File — New — Project — Ruby In Steel (слева) — Ruby Project (справа) — Name (задаем имя проекта) — OK.

    Стоит уделить внимание иерархии организации работы с кодом — проект (Project) содержит в себе один или несколько файлов в одной или нескольких папках, в то же время Solution (решение) может содержать несколько проектов.

    После создания проекта он уже содержит в себе один пустой файл rubyfile.rb, новые файлы добавляются через контекстное меню проекта. Двойной щелчок по имени файла открывает его в редакторе. Дальнейший код будем писать прямо в rubyfile.rb — это наш тестовый файл.

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


    Традиционно это Hello World:

    puts "Hello World!"

    Упс, это всё… Ctrl+F5 в среде — и результат, так сказать, налицо!

    Игры со строками


    puts "Hello World!\nPrivet Mir!"

    Как вы заметили прямо в строках работают управляющие последовательности (Escape Sequences), в т.ч. \n (новая строка), \t (табуляция), \s (пробел) и др.

    puts 'Hello World!\nPrivet Mir!'

    А вот строка, заключенная в апострофы «глупая» — она не понимает ES, поэтому в большинстве случаев используем именно кавычки. Однако если заранее известно, что ES в строке не нужны, то апострофы позволяют выиграть в производительности приложения.

    puts 'It\'s Ruby'

    Хотя нет, «глупая» строка понимает \' и больше ничего.

    print "Hello World!"
    print "Hello World!"


    В отличие от оператора puts print не делает перенос строки после вывода переменной.

    puts "2 x 2 = #{2*2}"

    Замечательная возможность Ruby — регулярное выражение в переменной — вы можете вставлять кусочки кода Ruby прямо в строки используя конструкцию #{code}.

    puts "#{"Ruby! "*4}"

    «Умножаем» строку на четыре и получаем слова песни Kaiser Chiefs ;) Причем делаем все это в одной строке кода!

    puts "\n\t#{(1 + 2) * 3}\nGoodbye"

    Попробуйте представить, что выведет этот код и проверьте ваше догадки :)

    Эпилог


    За два «занятия» мы узнали что такое Ruby и Rails, узнали их преимущества, настроили учебное место, установили IDE, написали Hello World и даже немного познакомились с работой со строковыми переменными в Руби, обойдясь при этом без ООП.

    Думаю, что мы и дальше будем познавать нативный, «чистый» Руби, отставив Rails в кладовку на будущее. Заранее прошу прощения за это перед теми, кто рассчитывал сразу штамповать сайты. Далее мы познакомимся с числовыми переменными, методами, локальными и глобальными переменными. Теперь будет меньше текста, больше кода

    PS: При написании записи использовались известные бесплатные пособия HUMBLE LITTLE RUBY BOOK от Jeremy McAnally и THE BOOK OF RUBY от Huw Collingbourne, особая благодарность Google и Яндексу. Как всегда, наверное, в тексте есть ошибки, неточности — сообщайте о них в комментариях. Если вам известны какие-нибудь оригинальные учебные пособия по Ruby (можно на английском), доступные для загрузки — также жду вас в комментариях.

    Третья капля уже здесь
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 94
    • +2
      Пора переносить в Ruby. Спасибо!
      • 0
        Да как-то стесняюсь :))
        • +2
          Да я вам завидую! Проходил тот же путь, а описать не могу :(
          Срочно в Ruby!
          • +1
            Перенос на вашей совести!!! :))))
            Спасибо за тёплые слова!
            • +1
              Совесть пропил. Кармы нет. Нечего терять :)
              • +3
                Впервые добавляю кому-то карму — так приятно, оказывается ;)
      • +3
        не прошло или суток:)
        Надеюсь что получится полный каплями стакан-главное не останавливаться.
        Спасибо, очень увлекательно:)
        • 0
          Спасибо. С таким ненавязчивым и толковым объяснением, начинаю опасатся, что упаду все таки, в объятья Руби
          • 0
            ru.wikibooks.org/wiki/Ruby
            по моему для начала самое оно.
            • +1
              «Массив лучше всего вообразить как гусеницу или поезд с лапками-запятыми вместо колёс. Ползёт он всегда влево, на левом же конце его локомотив — первый элемент.»

              Убило.
              Дальше решил читать
              Programming Ruby The Pragmatic Programmer's Guide
              • 0
                Правильный путь паддаван :)
                • 0
                  Pickaxe для начинающих самая лучшая книжка!:)
                  Да и не только для начинающих, например глава про сишные расширения.
                  • 0
                    вот если бы перевод еще
                • +1
                  Кстати, про IDE: тем, кому люб OS X, очень рекомендую взглянуть на TextMate. Ядрёная штука!
                  • +4
                    это не IDE, а текстовый редактор
                    • 0
                      Для ОсХ конечно это круто, но у большинства людей не маки

                      Windows/Linux IDE:

                      Мой выбор Aptana with a RadRails plugin. Плагин тот же что и

                      texteditors like TextMate:

                      e-editor ( платный, но удобств столько как и textmate )
                      gedit ( проплагинить и будет как textmate )
                      • 0
                        забыл дописать

                        *Плагин тот же что и для eclipse
                        • +1
                          VIM
                          Emacs
                          на кой ещё что-то платить?)
                        • +5
                          > регулярное выражение в переменной (expression interpolation)

                          Expression interpolation это скорее «интерполяция выражений». Regex'ы из совсем другой оперы. :)
                          • 0
                            Ввело в заблуждение пособие:
                            Double quoted strings also offer another interesting feature: expression interpolation. As fancy as that sounds, it simply means this: you can insert the value of pieces of Ruby code into strings directly.
                            Исправляю.
                          • –2
                            Почему каждому новому языку каждый раз придумывают новый синтаксис…
                            Вот почему я убил Луа, вот почему не смотрю в строну Руби
                            • –1
                              О да, надо писать в только синтаксисе ассемблера.
                              • –1
                                Почему С и Java имеют схожий синтаксис.
                                Почему ПХП тоже имеет похожий синтаксис.
                                Почему даже паскаль особо далеко не ушол от этого синтаксиса…

                                Хотя конечно по сравнению с луа — руби сказка :)
                                • 0
                                  А когда-то кто ругался на Си и «потомков» после фортрана и бейсика :) Почему нет номеров строк, как перейти куда хочу :)
                                  • +3
                                    >Почему ПХП тоже имеет похожий синтаксис.
                                    Если синтаксис пхп на что-то и похож, то разве что на исковерканый синтаксис перла из которого выбросили за недомыслием причину префиксов перед переменными, но оставив зачем-то эти самые префиксы, которые в отсутствии причины стали совершенно лишними и уродливыми до тошноты. Ну, а нынешние добавлятели всякой всячины в пхп явно идут по явскому пути словестного поноса :). Скоро уже станет необходимым писать:
                                    public static final function void main() :) :) :)
                                    >Почему даже паскаль особо далеко не ушол от этого синтаксиса…
                                    Паскакаль имеет синтаксис унаследованый от алгола-60, на сишный он даже издали похож крайне слабо :).

                                    А чего такого непохожего в рубишном синтаксисе? По-моему, он даже ближе к сишному, чем пхп-шный.
                                    • –1
                                      Наверное годы параллельной работы на С и ПХП притупили мой взор и посеяли предвзятое отношение к другим языкам.
                                      • 0
                                        После моей первой и последней попытки написать «hello, world!» для интернета на C (в конце 90-х) я понял, что надо изучать другой язык, после небольшого анализа понял, что выбирать нужно между perl и php. Взял с пяток скриптов (госетвухи, счетчики и т. п.) на том, и другом, скачал мануалы и засек время, которое понадобится чтобы написать простейший скрипт, как сейчас говорят, фотохостинга. На PHP понадобилось часа 3, синтаксис после C прозрачен был, с Perl часов за 15 так и не разобрался. И на мой неразобравшийся до сих пор в Perl'е (хотя изучал регулярки по книге, где 90% кода было на нем) взгляд PHP и C (да и Java туда же) практически один язык по сравнению с Perl'ом. Хотя, конечно, тому, кто владеет одинаоков хорошо всеми тремя, виднее :)
                                        • 0
                                          Я на перле, конечно, уже несколько лет ничего не писал, но, по памяти, из перла легко выделить небольшое подмножество, которое будет практически полностью совпадать с пхп по синтаксису (с совсем небольшим отличиями) и легко писать на нём в «стиле пхп» :). Я ни в коем случае не призываю так делать :), но, всё-таки, пхп — это донельзя упрощённый перл (основы, основы — нововведения весьма отличны уже). И на перл он, на мой взляд, похож больше, чем на си. Хотя, конечно, если исходить из того, что синтаксис самого перла имеет сишную природу, пхп, несомненно, c-like язык, синтаксически :).
                                          • 0
                                            Не буду спорить, но точно помню свои впечателния от первых взглядов на два аналогичных (функционально, вроде валидация формы и запись ее БД) листинга на php и perl. PHP — да это ж си практически, только $ ставить перед переменными и function писать (потом, конечно, больше различий нашел), Perl — хм… а это с какого конца читать вообще надо
                                            • +1
                                              Да не о том я. На перле можно написать функциональный аналог почти текстуально совпадающий с таковым на пхп. Ещё и регэкспы будут человечьими, а не это пхп-шное уродство с безумным размножение палок.
                                              Но можно написать и короче. Удобнее. Красивее. Если не поленился изучить как это делать, конечно. Если знаешь язык, запись будет понятна. Если не знаешь… Ну, зная только какой-нибудь кобол, с пхп будут ровно те же затрудния :).
                                              Тут, главное, в ряду «короче-удобнее-красивее» вовремя остановиться, поскольку выразтельные возможности перла позволяют впасть в состояние крайней степени тяжести и писать write-only код :). Ну, это расплата за мощнось…
                                  • +1
                                    затем что это другой язык, и синтаксис в языке играют немаловажную роль
                                    • –1
                                      Синтаксис силен в перле, скажем так — он краегольный камень языка…
                                      А тут хмм — мелочи, да не приятно
                                      • +1
                                        почитайте получше описание синтаксиса руби и вы поймете что данный синтаксис дает нам много-много сахара… и возможностей для этого сахара… что в свою очередь очень сильно влияет на сам язык в целом и конструирует его.
                                        • –3
                                          Руби я конечно же узучал. Для сайтов полезнее быть написаными на Руби…
                                          Но есть такая чтука — спинной мозг. Очень сложно заставить его писать в другом синтаксисе.
                                          Он сам будет вбивать так как привык.
                                          Переучивать его — это время и нервы.
                                          Время — деньги.
                                          • +3
                                            а вы пишите программы не спинным мозгом а головным;) оно как-то полезнее
                                            • –2
                                              пускай головные мозги программируют, а спинные кодят.
                                              Я свои как-то за 15 лет приучил :)
                                            • 0
                                              А вы попробуйте воспринимать это не как затраты, а как инвестиции.
                                              • –1
                                                Одна фигня :)
                                                Если захочу убить время и сделать что-то эдакое — начну писать сайты на Сях :)
                                                Опыт и фреймворк есть…
                                                Если решу какнить сменить свою сексуальную ориентацию — так и сделаю :)
                                      • +1
                                        Потому что иначе это будет не новый язык. Вот почему я не смотрю на новые языки, пишу в двоичном коде. 0110101101010011111одинодинодин
                                      • +1
                                        > во-вторых она не базируется на Java, что положительно отражается на скорости работы
                                        Я, конечно не говорю, что GUI-софт на джаве быстрый, но все же… сравни eclipse/idea/netbeans с VS2008 по производительности )
                                        По крайней мере у меня джавовские быстрее работают.
                                      • 0
                                        вот спасибо… то, что доктор прописал. параллельно начал изучать.
                                        в избранное…
                                        • 0
                                          Жду третью каплю и все последующие!
                                          • +1
                                            А кому не надо IDE, можно так
                                            Windows:
                                            Сам руби — fhttp://rubyforge.org/projects/rubyinstaller/
                                            Rails — gem install rails

                                            Debian based
                                            sudo apt-get install ruby1.8 ruby1.8-dev ri1.8 rdoc1.8 irb1.8
                                            sudo gem install rails

                                            Что бы быстро посмотреть на руби, можно использовать интерактивный интерпретатор — irb (аналог питоновского)
                                            Например получить все ссылки на статьи с главной хабра:
                                            ivs@debian:~$ irb
                                            irb(main):001:0> require 'open-uri'
                                            => true
                                            irb(main):002:0> open(«habrahabr.ru/»).read.scan(/href="([^"]*)" rel=«bookmark» class=«topic»/)
                                            => [[«habrahabr.ru/blogs/google_chrome/48638/»],…
                                            • 0
                                              Смотрю список пакетов с 'ruby' в репе убунту вижу версии 1.9 уже, а метапакеты ставят 1.8, причем с 1.8 на 1.9 обновляться не хотят, только ручками. Просто недоработка мейнтейнеров или есть что-то в 1.9 плохое?

                                              P.S. может кому пригодится из начинающих юнксоидов, я минут 15 разбирался:
                                              запускать в шелле .rb файлы можно командой ruby hello.rb, а можно ./hello.rb если дать права на выполнение и написать в первой строке .rb файла #!/usr/bin/ruby
                                              • +2
                                                1.9 это эксперементальная ветка, 1.8.6(уже 1.8.7, но там были баги, хотя профиксили уже вроде) — стабильная.
                                                По-этому они на два пакета разделены. На 1.9 новые идеи обкатываются, которые потом в 2.0 появяться.
                                                Хотя 1.9 быстрее, так как там уже добавили YARV — виртуальную машину.
                                                Для обучения впринципе безразлично, только что в 1.9 новые фичи есть, еоторых в 1.8 нет.
                                                А для продакшена практически всегда используют 1.8.6

                                                >из начинающих юнксоидов
                                                Для начинающих тогда уж полностью расписать:)
                                                Первая строка в файле #!/usr/bin/ruby или #!/usr/bin/env ruby
                                                Потом в терминале
                                                $ chmod u+x test.rb — делаем файл исполняемым, нужно сделать только один раз
                                                $ ./test.rb — запускаем

                                                Или же просто без всех этих махинаций(а в windows только так)
                                                $ ruby test.rb
                                                • 0
                                                  спасибо, значит пока оставим 1.8
                                            • +3
                                              NetBeans уже 6.5 вышел www.netbeans.org/downloads/index.html

                                              Жаль, конечно, что не что-нибудь открытое и кроссплатформенное в качестве среды для «капель» выбрали.
                                              • –1
                                                Если есть необходимость, то я могу написать и о NetBeans. Там еще проще — после установки среды не нужно загружать ни руби, ни рельсы, ничего. Сразу создаем проект, следим, чтобы путь к проекту на содержал кириллицы, в качестве Ruby Platform выбираем встроенный JRuby. Так как мы отложили рельсы, до этого пока будет достаточно
                                                • 0
                                                  ну насчет необходимости не знаю, лично я уже разобрался почти, так, может пару абзацев для тех, кому точные пункты меню нужны :)
                                                  • 0
                                                    действительно, бОльшой необходимости нет, но было бы неплохо (и даже хорошо) «капать» и в свободном ПО ;)
                                                    • 0
                                                      тока писал о NetBeans 6.5 для Ruby, мега весч paxer.habrahabr.ru/blog/48515/
                                                  • 0
                                                    Друзья, я думаю, можно очень долго холиварить на тему: использовать ли IDE для Ruby. Только вот я вчера свою сборку Aptana променял на gedit.
                                                    И, да, чего же все под vim и emacs сидят? :) от вселенской глупости? попробуйте…

                                                    Спасибо за топик :)
                                                    • 0
                                                      Я тоже фанат gedit'a :). Все хочу приобщится к vim или emacs, но что то как то не выходит пока.
                                                      • 0
                                                        ну холиварить пока не начинали, мне так не с руки, только что первую строчку на руби написал, в gedit, кстати, который сегодня променял на netbeans (правда не знаю надолго ли, уже один баг отправил на багзиллу, если так и дальше пойдет, то наверное придется вернуться :( )

                                                        А под vim и e-macs, имхо, сидят те, у кого либо выбора не было когда-то, либо было много свободного времени и энтузиазма на изучение хотя бы основ их, или я такой тупой, что мне часа не хватило на то, чтобы понять как элементарные операции (открыть/создать файл, закрыть/сохранить, набивать текст, перемещаться по нему, редактировать, копи-пастить и т. п.) выполнять.

                                                        P.S. Вот только что еще раз попробовал, 5 минут слушал пиканье, потом все-таки зашел в хелп где написано, что хелпа нет, и еще 5 минут оттуда выходил, а потмо две минуты опять назад в шелл выходил… видать совсем тупой я, раз мне проще через cp /dev/stdin file.txt набить если уж nano хотя бы не будет :)
                                                        • +2
                                                          vim осиливается с потом, а рассаёшься с ним со слезами
                                                          • 0
                                                            Ну в принципе человек глазом то учится управлять пару лет, так что несколько дней на освоение инструмента — это нормально.
                                                            И странная ситуация с хелпом у вас, на емаксе туториал на русском в поставке идет, а у вима вимтутор есть.
                                                            • 0
                                                              набрал vim, появился «сплэш» с надписями типа
                                                              type :help iccf to help children in Uganda
                                                              type :help for help
                                                              type :q to exit
                                                              f1 нажал (и то не сразу, уж очень дети уганды заинтерсовали :) ), в хелп попал, потом долго соображал как выйти из него, потом из редактора (надо еще! в конце поставить), в общем нельзя все-таки такие длинные каникулы делать :))))
                                                              оказывается надо двоеточие нажимать, это не знак пунктуации, а часть команды, причем нажимать его с шифтом надо, то есть смотрит не нажатую клавишу, а ascii код, и вообще интерфейс основан на командной строке похоже. В общем сложно вникнуть во что-то абсолютно отличающиеся от того к чему привык за 20 лет, даже в дос в edit, не говоря уж о лексиконе примерно те же принципы интерфейса, что и в каком-нибудь ворде 2007

                                                              ну а в самом хелпе надпись что vim online help not installed on this system, оказывается у меня стоял vim-tiny без хелпа, сейчас поставил vim-runtime, но что-то все равно не верится, что даже через неделю исходники скажем на том же php буду набирать и править быстрее чем даже в gedit, не говоря уж о netbeans или eclipse

                                                        • +1
                                                          Ну какие «все», считаные единицы особо бородатых одминов под ними сидят… :)

                                                          Сам сейчас занимаюсь насильным пересаживанием себя за emacs, никаких практических причин для этого у меня нет, а чисто в порядке самоистязания, чтобы сила духа окрепла… Запретил себе писать код в чём-либо кроме емакса, уже недели три держусь, возможно, и вообще останусь… Думаю, может, статью какую-нибудь накатать, не туториал, а скорее хронику перехода и обзор того, что приобретаешь, переходя на emacs с типичных Windows GUI IDE. А то обычно если кого спросишь об этом — он либо еще не знает, либо уже не помнит :)
                                                          • 0
                                                            Поверьте, гигов хватает :) там не только и не столько бородатые дядьки. половина Merb и Rubinius команды О_о
                                                            • 0
                                                              > гигов хватает

                                                              ЩИТО? :)
                                                              • 0
                                                                О_о гиков, пардон.
                                                        • 0
                                                          Кстати, насчет Ruby IDE.
                                                          Есть еще RubyMine www.jetbrains.com/ruby/index.html
                                                          Притом еще и бесплатная(пока).
                                                          Любителям IDE думаю стоит посмотреть, т.к. она от того же разработчика что и IntelliJ IDEA, одной из лучших Java IDE.
                                                          • 0
                                                            Приятная RubyMine заставила мой комп буксовать. В то же время даже более способный NetBeans работает намного быстрее
                                                            • 0
                                                              Хм, когда писал на Java, использовал только InelliJ IDEA, нк тормозило и норм работало.
                                                              А RubyMine я даже не смотрел, меня вполне gedit устраивает:)
                                                              Но очень странно что у RubyMine такой регресс по сравнению с IDEA…
                                                          • +1
                                                            А еще в викиучебнике, есть отличный учебник по раби ru.wikibooks.org/wiki/Ruby
                                                            • 0
                                                              он Руби а не Раби:)
                                                              • 0
                                                                Да :) они называют его именно руби. подкасты / скринкасты тому подтверждение )
                                                                • 0
                                                                  Да и вообще, «u» как «а» читается только в закрытом слоге, например bus.
                                                                  А тут открытый слог, так что Руби!:)
                                                                  На подкасты/скринкасты тоже полагаться нельзя, их не всегда англоязычные люди читают.
                                                                  Слушал доклад японца с rubyconf2008, дак там вообще ужас с произношением:)
                                                                  • 0
                                                                    да какая разница как мы называем, есть важнее вещи
                                                                    • 0
                                                                      Само собой :) Там индусы и японцы в перемешку))) По акценту же сразу слышно, native english это, или подстава :)
                                                                      • 0
                                                                        Японец не Матц случаем?
                                                              • 0
                                                                • 0
                                                                  насчет «глупых» строк — в большинстве книг, которые я читал (и по Руби, и по PHP, и по чему-либо еще) они назывались «lazy» («ленивые»)
                                                                  • 0
                                                                    А у меня в книгах они называются «silly» :)
                                                                    • +1
                                                                      ну и бог с ними, суть ясна. статья кстати хорошая, тоже все собираюсь заняться Руби, книжек почитал, а рабочей идеи которую стоило бы начать реализовывать никак не придумаю
                                                                      • 0
                                                                        Мне бы ваши проблемы :) Идей много, а вот с реализацией все затруднительно
                                                                  • 0
                                                                    Хотя нет, «глупая» строка понимает \' и больше ничего.


                                                                    Неправда :) Она понимает еще \\ :)
                                                                    ЗЫ: Удачи в дальнейшем освоении. И не забывайте про "инлайны в строках #{2+3}" :)
                                                                    • 0
                                                                      Ой, а подскажите, что такое инлайны :-[
                                                                      • 0
                                                                        Ну то что я написал выше в строке. Очень удобно во всякого рода выводах при форматировании строк. Ну скажем один и тот же пример на 3х языках:

                                                                        Паскаль (делфи):
                                                                        ShowMessage('2 + 3 = ' + IntToStr(2+3));

                                                                        С/С++:
                                                                        printf(«2 + 3 = %d», 2 + 3);

                                                                        Руби:
                                                                        puts(«2 + 3 = #{2+3}»)

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

                                                                        puts(«координаты цели (#{myobj.x}, #{myobj.y})»)

                                                                        В общем случае строку с инлайном можно развернуть в выражение:
                                                                        «foo #{X} bar» эквивалентно «foo » + (X) + " bar"
                                                                        • 0
                                                                          Блин, редактор преобразовал кавычки =) Ну в общем надеюсь понятно
                                                                          • 0
                                                                            Спасибо — действительно понятно :)
                                                                    • 0
                                                                      NetBeans 6.5 весьма советую.
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                        • 0
                                                                          The Book Of Ruby by Huw Collingbourne
                                                                          www.sapphiresteel.com/The-Book-Of-Ruby

                                                                          А про IDE их много. Но мое мнение то, что во время изучения языка лучше использовать текстовой редактор.
                                                                          • +1
                                                                            Покурим Ruby вместе! Капля вторая
                                                                            • +1
                                                                              Why's (Poignant) Guide to Ruby
                                                                              Очень интересная книга.
                                                                              • 0
                                                                                .., и даже немного познакомились с работой со строковыми переменными в Руби, обойдясь при этом без ООП.

                                                                                Позанудствую, но вам никак бы не удалось обойтись без ООП. В Руби же все есть объект. =)
                                                                                • 0
                                                                                  Об этом я написал в третьей части ;)
                                                                                • 0
                                                                                  Третья каплЯ уже здесь :-)
                                                                                  • +1
                                                                                    Так начало не плохое хочу больше

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