The Ruby Programming Language

  • ISBN13:


  • ISBN10:


  • Format: Paperback
  • Copyright: 2008-01-01
  • Publisher: Oreilly & Associates Inc

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $39.99 Save up to $21.32
  • Rent Book $25.99
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


This book is a comprehensive and definitive explanation of the Ruby programming language, which has become the basis for the extremely popular Ruby on Rails web development framework. The book itself is not about web development or the framework, but helps experienced programmers look at the language in depth, including the structure of a Ruby program and its values, expressions, statements, classes, methods, and more.

Author Biography

David Flanagan is a computer programmer who spends most of his time writing about JavaScript and Java. His books with O'Reilly include JavaScript: The Definitive Guide, JavaScript Pocket Reference, Java in a Nutshell, Java Examples in a Nutshell, and Java Foundation Classes in a Nutshell. David has a degree in computer science and engineering from the Massachusetts Institute of Technology. He lives with his wife and children in the U.S. Pacific Northwest bewteen the cities of Seattle, Washington and Vancouver, British Columbia. David has a blog at www.davidflanagan.com.

Yukihiro Matsumoto ("Matz"), the creator of Ruby, is a professional programmer who worked for the Japanese open source company, netlab.jp. Matz is also known as one of the open source evangelists in Japan. He's released several open source products, including cmail, the emacs-based mail user agent, written entirely in emacs lisp. Ruby is his first piece of software that has become known outside of Japan.

Table of Contents

Prefacep. ix
Introductionp. 1
A Tour of Rubyp. 2
Try Rubyp. 11
About This Bookp. 15
A Sudoku Solver in Rubyp. 17
The Structure and Execution of Ruby Programsp. 25
Lexical Structurep. 26
Syntactic Structurep. 33
File Structurep. 35
Program Encodingp. 36
Program Executionp. 39
Datatypes and Objectsp. 41
Numbersp. 42
Textp. 46
Arraysp. 64
Hashesp. 67
Rangesp. 68
Symbolsp. 71
True, False, and Nilp. 72
Objectsp. 72
Expressions and Operatorsp. 85
Literals and Keyword Literalsp. 86
Variable Referencesp. 87
Constant Referencesp. 88
Method Invocationsp. 89
Assignmentsp. 92
Operatorsp. 100
Statements and Control Structuresp. 117
Conditionalsp. 118
Loopsp. 127
Iterators and Enumerable Objectsp. 130
Blocksp. 140
Altering Control Flowp. 146
Exceptions and Exception Handlingp. 154
BEGIN and ENDp. 165
Threads, Fibers, and Continuationsp. 166
Methods, Procs, Lambdas, and Closuresp. 175
Defining Simple Methodsp. 177
Method Namesp. 180
Methods and Parenthesesp. 183
Method Argumentsp. 185
Procs and Lambdasp. 192
Closuresp. 200
Method Objectsp. 203
Functional Programmingp. 205
Classes and Modulesp. 213
Defining a Simple Classp. 214
Method Visibility: Public, Protected, Privatep. 232
Subclassing and Inheritancep. 234
Object Creation and Initializationp. 241
Modulesp. 247
Loading and Requiring Modulesp. 252
Singleton Methods and the Eigenclassp. 257
Method Lookupp. 258
Constant Lookupp. 261
Reflection and Metaprogrammingp. 265
Types, Classes, and Modulesp. 266
Evaluating Strings and Blocksp. 268
Variables and Constantsp. 271
Methodsp. 272
Hooksp. 277
Tracingp. 279
ObjectSpace and GCp. 281
Custom Control Structuresp. 281
Missing Methods and Missing Constantsp. 284
Dynamically Creating Methodsp. 287
Alias Chainingp. 290
Domain-Specific Languagesp. 296
The Ruby Platformp. 303
Stringsp. 304
Regular Expressionsp. 310
Numbers and Mathp. 321
Dates and Timesp. 325
Collectionsp. 328
Files and Directoriesp. 350
Input/Outputp. 356
Networkingp. 366
Threads and Concurrencyp. 372
The Ruby Environmentp. 389
Invoking the Ruby Interpreterp. 390
The Top-Level Environmentp. 394
Practical Extraction and Reporting Shortcutsp. 403
Calling the OSp. 405
Securityp. 409
Indexp. 413
Table of Contents provided by Ingram. All Rights Reserved.

Rewards Program

Write a Review