Ruby has gained some attention through the popular Ruby on Rails web development framework, but the language alone is worthy of more consideration -- a lot more. This book offers a definition explanation of this powerful and extremely flexible language, which draws inspiration from Lisp, Smalltalk and Perl, but uses a grammar that's easy for C and Java programmers to learn.
With The Ruby Programming Language, you will quickly learn your way around versions 1.8 and 1.9, and discover why this pure object-oriented language is also suitable for procedural and functional programming styles. You'll learn Ruby's lexical structure, primary expressions, conditionals, syntax, classes, the data it manipulates, and more. Ruby blurs the distinction between language and platform, so this book includes a tour of the core Ruby API. But the primary subject is the language itself, including:
* Ruby's lexical structure including basic issues like character set, case sensitivity and reserved words
* Numbers, strings, ranges, arrays, and other data that Ruby programs can manipulate, plus basic features of all Ruby objects
* Primary expressions in Ruby -- literals, variable references, method invocations and assignments
* Conditionals, loops (including blocks and iterator methods), exceptions and other Ruby expressions
* Ruby's method definition and invocation syntax, and the invokeable objects known as procs and lambdas
* An explanation of closures in Ruby and an exploration of functional programming techniques
* Classes and modules in Ruby, inheritance, method visibility, mixing modules and the method name resolution algorithm
* Ruby APIs that allow a program to inspect and manipulate itself, and metaprogramming techniques that use the APIs to extend Ruby's syntax for easier programming
* A quick tutorial of the Ruby platform -- the most important classes and methods, text processing, numeric computation, collections, input/output, networking and threads
The Ruby Programming Language also covers the top-level Ruby programming environment, including global variables and functions, command-line arguments supported by the Ruby interpreter, and Ruby's security mechanism. If you're an experienced programmer who wants a look at this language in depth, this easy-to-follow guide is invaluable.