
The Ruby Programming Language
by Flanagan, David-
eCampus.com Device Compatibility Matrix
Click the device icon to install or view instructions
Buy New
Rent Book
Rent Digital
Used Book
We're Sorry
Sold Out
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
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
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. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.