Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
Purchase Benefits
What is included with this book?
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.
Preface | p. ix |
Introduction | p. 1 |
A Tour of Ruby | p. 2 |
Try Ruby | p. 11 |
About This Book | p. 15 |
A Sudoku Solver in Ruby | p. 17 |
The Structure and Execution of Ruby Programs | p. 25 |
Lexical Structure | p. 26 |
Syntactic Structure | p. 33 |
File Structure | p. 35 |
Program Encoding | p. 36 |
Program Execution | p. 39 |
Datatypes and Objects | p. 41 |
Numbers | p. 42 |
Text | p. 46 |
Arrays | p. 64 |
Hashes | p. 67 |
Ranges | p. 68 |
Symbols | p. 71 |
True, False, and Nil | p. 72 |
Objects | p. 72 |
Expressions and Operators | p. 85 |
Literals and Keyword Literals | p. 86 |
Variable References | p. 87 |
Constant References | p. 88 |
Method Invocations | p. 89 |
Assignments | p. 92 |
Operators | p. 100 |
Statements and Control Structures | p. 117 |
Conditionals | p. 118 |
Loops | p. 127 |
Iterators and Enumerable Objects | p. 130 |
Blocks | p. 140 |
Altering Control Flow | p. 146 |
Exceptions and Exception Handling | p. 154 |
BEGIN and END | p. 165 |
Threads, Fibers, and Continuations | p. 166 |
Methods, Procs, Lambdas, and Closures | p. 175 |
Defining Simple Methods | p. 177 |
Method Names | p. 180 |
Methods and Parentheses | p. 183 |
Method Arguments | p. 185 |
Procs and Lambdas | p. 192 |
Closures | p. 200 |
Method Objects | p. 203 |
Functional Programming | p. 205 |
Classes and Modules | p. 213 |
Defining a Simple Class | p. 214 |
Method Visibility: Public, Protected, Private | p. 232 |
Subclassing and Inheritance | p. 234 |
Object Creation and Initialization | p. 241 |
Modules | p. 247 |
Loading and Requiring Modules | p. 252 |
Singleton Methods and the Eigenclass | p. 257 |
Method Lookup | p. 258 |
Constant Lookup | p. 261 |
Reflection and Metaprogramming | p. 265 |
Types, Classes, and Modules | p. 266 |
Evaluating Strings and Blocks | p. 268 |
Variables and Constants | p. 271 |
Methods | p. 272 |
Hooks | p. 277 |
Tracing | p. 279 |
ObjectSpace and GC | p. 281 |
Custom Control Structures | p. 281 |
Missing Methods and Missing Constants | p. 284 |
Dynamically Creating Methods | p. 287 |
Alias Chaining | p. 290 |
Domain-Specific Languages | p. 296 |
The Ruby Platform | p. 303 |
Strings | p. 304 |
Regular Expressions | p. 310 |
Numbers and Math | p. 321 |
Dates and Times | p. 325 |
Collections | p. 328 |
Files and Directories | p. 350 |
Input/Output | p. 356 |
Networking | p. 366 |
Threads and Concurrency | p. 372 |
The Ruby Environment | p. 389 |
Invoking the Ruby Interpreter | p. 390 |
The Top-Level Environment | p. 394 |
Practical Extraction and Reporting Shortcuts | p. 403 |
Calling the OS | p. 405 |
Security | p. 409 |
Index | p. 413 |
Table of Contents provided by Ingram. All Rights Reserved. |
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.