Как организована эта книга
Как организована эта книга
Вряд ли вы станете изучать Ruby по этой книге. В ней не так уж много вводного и учебного материала. Если вы еще ничего не знаете о Ruby, то лучше начать с какой-нибудь другой книги.
Но программисты - народ упорный, и я допускаю, что научиться Ruby только по этой книге возможно. В главе 1, «Обзор Ruby», приводится краткое введение в язык и очень скромное руководство.
Также в главе 1 есть довольно полный перечень «скользких мест» (который трудно поддерживать в актуальном состоянии). Для разных читателей этот перечень полезен в разной мере, поскольку что для одного интуитивно очевидно, для другого выглядит странно.
В основном эта книга призвана отвечать на вопросы типа «Как сделать?». И потому вы, вероятно, многое будете пропускать. Я почту за честь, если кто-то прочтет книгу от корки до корки, но не надеюсь на это. Скорее я ожидаю, что вы будете искать в оглавлении темы, которые вас интересуют в конкретный момент. Впрочем, с момента выхода первого издания мне приходилось беседовать с разными людьми, и оказалось, что многие прочли книгу целиком. Более того, несколько человек писали мне, что выучили по ней Ruby. Что ж, все возможно!..
Некоторые рассматриваемые в книге вопросы могут показаться элементарными. Но ведь у разных людей и опыт разный; то, что очевидно одному, будет откровением для другого. Я старался сделать изложение как можно более полным. С другой стороны, было стремление уложиться в разумный объем (ясно, что эти цели противоречивы).
Можно назвать эту книгу «справочником наоборот». Вы ищете то, что нужно, не по имени класса или метода, а по функции или назначению. Например, в классе String есть несколько методов для манипулирования регистром букв: capitalize, upcase, casecmp, downcase и swapcase. В настоящем справочнике они встречались бы в алфавитном порядке, а в этой книге собраны в одном месте.
Конечно, в борьбе за полноту охвата материала я иногда сворачивал на путь, которому следуют справочные руководства. Во многих случаях я старался компенсировать это, предлагая не совсем обычные примеры или разнообразя их по сравнению со справочниками.
Я старался не перегружать код комментариями. Если не считать первой главы, то думаю, что достиг этой цели. Писатель может стать не в меру болтливым, но программист-то хочет видеть код (а если не хочет, то должен хотеть).
Иногда примеры выглядят искусственными, за что я приношу свои извинения. Проиллюстрировать какой-то прием или принцип в отрыве от реальной задачи бывает сложно. Но чем сложнее задача, чем выше ее уровень, тем большие усилия я прилагал к подысканию реального примера. Так, если речь идет о конкатенации строк, то, наверное, вы увидите безыскусный фрагмент кода с упоминанием пресловутых "foo" и "bar", но когда рассматривается тема разбора XML-документа, будет приведен куда более содержательный и реалистичный пример.
Есть в этой книге два-три каприза, в которых хочу заранее сознаться. Во-первых, я всеми силами старался избегать «уродливых» глобальных переменных типа $_ и ей подобных, пришедших из языка Perl. Они есть в Ruby и прекрасно работают, даже применяются в повседневной работе всеми или большинством программистов. Но почти всегда от их использования можно уйти, что я и позволил себе чуть ли не во всех примерах.
Другой каприз состоит в том, что я избегаю пользоваться обособленными выражениями, если у них нет побочных эффектов. В Ruby выражения - одна из основ языка, и это прекрасно; я старался извлечь из этой особенности максимум пользы. Но во фрагментах кода предпочитаю не употреблять выражения, которые просто возвращают никак не используемое значение. Например, для иллюстрации конкатенации строк достаточно было бы написать "abc" + "def", но я в этом случае пишу что-то вроде str = "abc" + "def". Кому-то это покажется излишеством, но выглядит естественным для программиста на языке С, привыкшего к тому, что бывают функции типа void и не-void (а также программисту на Pascal, мыслящему в терминах процедур и функций).
Третий каприз заключается в моем нежелании употреблять символ решетки для обозначения методов экземпляра. Многие поклонники Ruby считают, что я проявляю излишнюю болтливость, когда пишу «метод экземпляра crypt класса String», а не просто string#crypt, но я полагаю, что так никто не запутается. (На самом деле мне придется постепенно смириться с использованием такой нотации, так как ясно, что она уже никуда не исчезнет.)
Я старался давать ссылки на внешние ресурсы там, где это уместно. Ограничения по времени и объему не позволили мне включить в книгу все, что я хотел бы, но надеюсь, что это хотя бы отчасти компенсируется указаниями на то, где найти недостающую информацию. Из всех источников самым главным, наверное, следует считать архив приложений Ruby (Ruby Application Archive) в сети; вы не раз встретите ссылки на него.
В начале книги принято приводить соглашения об использовании шрифтов, применяемых для выделения кода, и о том, как отличить пример от обычного текста. Но я не стану оскорблять вас недоверием к вашим умственным способностям, - вы ведь и раньше читали техническую литературу.
Хочу подчеркнуть, что примерно 10% текста книги было написано другими людьми. И это не считая технического редактирования и корректуры!.. Вы просто обязаны прочитать благодарности, приведенные в этой (и любой другой) книге. Большинство читателей пропускают их. Прошу, прочтите прямо сейчас. Это будет так же полезно, как питание овощами.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Как организована эта книга
Как организована эта книга Расположение глав соответствует их тематической направленности, и поэтому сначала рассматриваются средства, необходимые для работы исключительно однопоточных приложений, затем средства, используемые для управления процессами и потоками, и
О чем эта книга
О чем эта книга В книге описываются:— Язык HTML и принципы создания содержимого Web-страниц.— Язык CSS и принципы создания представления Web-страниц.— Возможности HTML 5 и CSS 3, уже поддерживаемые современными Web-обозревателями.— Основы Web-программирования, язык JavaScript и
О чем эта книга
О чем эта книга Прежде чем читатель начнет изучать очень интересную тему, связанную с настройками Windows, нужно рассказать, о чем эта книга.Мое знакомство с реестром началось с Windows 98, хотя знакомство с компьютером состоялось гораздо раньше. Но до поры до времени компьютер
О чем эта книга
О чем эта книга В книге описываются:— Язык HTML и принципы создания содержимого Web-страниц.— Язык CSS и принципы создания представления Web-страниц.— Возможности HTML 5 и CSS 3, уже поддерживаемые современными Web-обозревателями.— Основы Web-программирования, язык JavaScript и
О чем эта книга?
О чем эта книга? Если вы относитесь к категории "активных пользователей", то вы уже что-то слышали о классе операционных систем, объединенных общим именем UNIX. ОС этого класса имеют ряд преимуществ перед обычно устанавливаемыми на персональные компьютеры ОС типа Windows. И
Как организована обратная связь с клиентами
Как организована обратная связь с клиентами Эта часть сайта может показать, в каких областях компания чувствует себя наиболее уверенно, как концептуально организована ее работа с клиентами и на чем основаны те или иные аспекты их взаимодействия.Помимо традиционных
1. Книга
1. Книга Во-первых, вы можете делать электронные или физические книги, то есть в pdf-формате, либо печатать их в типографии. Мне очень нравятся небольшие книжечки с переплетом в виде спиральки, это здорово выглядит. Можно приложить диски, чтобы ваш инфопродукт смотрелся
Адресная книга
Адресная книга Первый раз я ввела электронный адрес в письме в графу Кому вручную. Чтобы в следующий раз этого не делать, я щелкаю правой кнопкой мыши на адресе и в появившемся контекстном меню выбираю строку Добавить в контакты Outlook (рис. 4.16). Рис. 4.16. Добавляем адрес в
О чем эта книга
О чем эта книга В этой книге описаны самые полезные дополнительные фильтры для редактора Adobe Photoshop. Так сложилось, что практически вся доступная литература о Photoshop (а ее немало) посвящена описанию работы со стандартными инструментами программы. Некоторые авторы включают
О чем эта книга
О чем эта книга Вы, наверное, уже знаете, что VBA - это язык программирования, встроенный во множество программ, от приложений Microsoft Office, Microsoft Project, Visio и AutoCAD до многочисленных специализированных приложений, предназначенных для управления производственными процессами, учета
Как организована эта книга
Как организована эта книга Вряд ли вы станете изучать Ruby по этой книге. В ней не так уж много вводного и учебного материала. Если вы еще ничего не знаете о Ruby, то лучше начать с какой-нибудь другой книги.Но программисты - народ упорный, и я допускаю, что научиться Ruby только по
О чем эта книга?
О чем эта книга? Сложно переоценить влияние, которое за последнюю пару-тройку лет оказало на информационные технологии появление и распространение расширяемого языка разметки XML (от англ. extensible Markup Language). XML-технологии нашли применение во множестве областей и стали
О чем эта книга
О чем эта книга Итак, в книге будут разобраны вопросы «коммуникации» пользователя и ПК. Я даю вам расшифровку типичных сигналов компьютера, с помощью которых он пытается объяснить пользователю, что что-то не так. Не отмахивайтесь от этих сигналов: если ПК к вам обращается,
О чем эта книга
О чем эта книга Сколько раз вы делали перестановку у себя дома. Попробуйте сделать еще одну… в компьютере. Как?! С этой книгой возможно все. Вы научитесь заполнять пространство программами. Но это не все. Шкафы, комоды в прошлом, вы научитесь открывать эти программы.Ура !