The Ruby Way: Solutions and Techniques in Ruby Programming.pdf
Hal Fulton has two degrees in computer science from the University of Mississippi. He taught computer science for four years at the community college level before moving to Austin, Texas, for a series of contracts (mainly at IBM Austin). He has worked for more than 15 years with various forms of UNIX, including AIX, Solaris, and Linux. He was first exposed to Ruby in 1999, and in 2001 he began work on the first edition of this book, which was the second Ruby book in the English language. He has attended six Ruby conferences and has given presentations at four of those, including the first European Ruby Conference in Karlsruhe, Germany. He currently works at Broadwing Communications, working on a large data warehouse and related telecom applications. He works daily with C++, Oracle, and of course, Ruby. Hal is still active daily on the Ruby mailing list and IRC channel, and has several Ruby projects in progress. He is a member of the ACM and the IEEE Computer Society. In his personal life, he enjoys music, reading, writing, art, and photography. He is a member of the Mars Society and is a space enthusiast who would love to go into space before he dies. He lives in Austin, Texas.
Chapter 1: Ruby in Review Chapter 2: Working with Strings Chapter 3: Manipulating Regular Expressions Chapter 4: Internationalization in Ruby Chapter 5: Performing Numerical Calculations Chapter 6: Using Symbols and Ranges Chapter 7: Manipulating Times and Dates Chapter 8: Arrays, Hashes, and Other Enumerables Chapter 9: More Advanced Data Structures Chapter 10: Manipulating files and external data Chapter 11: Ruby and OOP Chapter 12: Graphical Interfaces for Ruby Chapter 13: Threads in Ruby Chapter 14: System Administration and Scripting Chapter 15: Ruby and Data Formats Chapter 16: Testing and Debugging Chapter 17: Packaging and Distributing Code Chapter 18: Network Programming Chapter 19: Ruby and Web Applications Chapter 20: Distributed Ruby Chapter 21: Ruby and External Software Chapter 22: Ruby Development Tools Chapter 23: The Ruby Community
Ruby is an agile object-oriented language, borrowing some of the best features from LISP, Smalltalk, Perl, CLU, and other languages. Its popularity has grown tremendously in the five years since the first edition of this book. The Ruby Way takes a "how-to" approach to Ruby programming with the bulk of the material consisting of more than 400 examples arranged by topic. Each example answers the question "How do I do this in Ruby?" Working along with the author, you are presented with the task description and a discussion of the technical constraints. This is followed by a step-by-step presentation of one good solution. Along the way, the author provides detailed commentary and explanations to aid your understanding. Coverage includes * An overview of Ruby, explaining terminology and basic principles * Operations on low-level data types (numbers, strings, regular expressions, dates) * The new regular expression engine (Oniguruma) * Internationalization (I18N) and message catalogs in Ruby * Operations on hashes, arrays, and other data structures such as stacks, trees, and graphs * Working with general I/O, files, and persistent objects * Database coverage including MySQL, SQLite, Oracle, DBI, and more * Ruby-specific techniques in OOP and dynamic programming * Graphical interfaces in Ruby (Tk, GTK+, Fox, and Qt) * Working with Ruby threads for lightweight multitasking * Everyday scripting and system administration in Ruby * Working with image files, PDFs, YAML, XML, RSS, and Atom * Testing, debugging, profiling, and packaging Ruby code * Low-level network programming and client-server interaction * Web development tools including Rails, Nitro, Wee, IOWA, and more * Working with distributed Ruby, Rinda, and Ring * Ruby development tools such as IDEs, documentation tools, and more The source code for the book can be downloaded from www.rubyhacker.com