The Ruby Programming Language: Everything You Need to Know

Front Cover
"O'Reilly Media, Inc.", Jan 25, 2008 - Computers - 448 pages
9 Reviews

The Ruby Programming Language is the authoritative guide to Ruby and provides comprehensive coverage of versions 1.8 and 1.9 of the language. It was written (and illustrated!) by an all-star team:

  • David Flanagan, bestselling author of programming language "bibles" (including JavaScript: The Definitive Guide and Java in a Nutshell) and committer to the Ruby Subversion repository.


  • Yukihiro "Matz" Matsumoto, creator, designer and lead developer of Ruby and author of Ruby in a Nutshell, which has been expanded and revised to become this book.


  • why the lucky stiff, artist and Ruby programmer extraordinaire.
This book begins with a quick-start tutorial to the language, and then explains the language in detail from the bottom up: from lexical and syntactic structure to datatypes to expressions and statements and on through methods, blocks, lambdas, closures, classes and modules.

The book also includes a long and thorough introduction to the rich API of the Ruby platform, demonstrating -- with heavily-commented example code -- Ruby's facilities for text processing, numeric manipulation, collections, input/output, networking, and concurrency. An entire chapter is devoted to Ruby's metaprogramming capabilities.

The Ruby Programming Language documents the Ruby language definitively but without the formality of a language specification. It is written for experienced programmers who are new to Ruby, and for current Ruby programmers who want to challenge their understanding and increase their mastery of the language.

 

What people are saying - Write a review

User ratings

5 stars
6
4 stars
3
3 stars
0
2 stars
0
1 star
0

User Review - Flag as inappropriate

This book should be considered the paradigm for books on programming
languages. It is precise and concise; where possible, the examples
demonstrate not only syntax but also intended use. No silly
examples
of, say, arrays of stones, playing on a bad and boring stone age
television programme here!
And the authors are helped in that they are describing a truly
fascinating language. It is object oriented through and through, has
all the usual features of programming languages such as conditional
statements and "for" and "while loops, but it has more, much more.
The concept of an iterator is fundamental to the language; indeed, a
ruby programmer soon finds himself thinking in terms of iterators,
internal and external, rather than "for" loops. This is the sort of
language that appeals to programmers because it's truly fun to program,
and this is the best book on a programming language in existence. It's
riveting!
But the one big problem is, very unfortunately, that ruby is buggy.
Worse, there doesn't appear to be anyone to send bug reports to; the
unfortunate user is left to stew in his own juice. I've even
experienced ruby executing a program differently depending on whether or
not a comment line is deleted or not. Different ruby versions yield
different results on the same program, and, when ruby signals a
programming error and you enter the debugger, ruby's behaviour suddenly
differs from that without the debugger. And when you are in the
debugger, and the error is at line 12345, and you are at line 10, which
is a loop consisting 1,000 iterations, you try to skip the loop, but
then you never regain control before the error. So you sit there and
single step through the loop, solely so that you can still follow the
execution once the loop has terminated.
Unless these bugs are removed, or even reported so that somebody can
look into them, the ruby language and with it this book cannot be
recommended to anybody except the masochistic.
 

Contents

Chapter 2 The Structure and Execution of Ruby Programs
25
Chapter 3 Datatypes and Objects
41
Chapter 4 Expressions and Operators
85
Chapter 5 Statements and Control Structures
117
Chapter 6 Methods Procs Lambdas and Closures
175
Chapter 7 Classes and Modules
213
Chapter 8 Reflection and Metaprogramming
265
Chapter 9 The Ruby Platform
303
Chapter 10 The Ruby Environment
389
Index
415
Copyright

Other editions - View all

Common terms and phrases

Bibliographic information