Cut through those programming conventions and blaze your own trail with The Book of Ruby. From methods to metaprogramming, gain the skills you need to master the world's most fun programming language with this hands-on introduction.
Ruby is famous for being easy to learn, but most users only scratch the surface of what it can do. While other books focus on Ruby's trendier features, The Book of Ruby reveals the secret inner workings of one of the world's most popular programming languages, teaching you to write clear, maintainable code.
You'll start with the basics-types, data structures, and control flows-and progress to advanced features like blocks, mixins, metaclasses, and beyond. Rather than bog you down with a lot of theory, The Book of Ruby takes a hands-on approach and focuses on making you productive from day one.
As you follow along, you'll learn to- -Leverage Ruby's succinct and flexible syntax to maximize your productivity -Balance Ruby's functional, imperative, and object-oriented features -Write self-modifying programs using dynamic programming techniques -Create new fibers and threads to manage independent processes concurrently -Catch and recover from execution errors with robust exception handling -Develop powerful web applications with the Ruby on Rails framework
Each chapter includes a ""Digging Deeper"" section that shows you how Ruby works under the hood, so you'll never be caught off guard by its deceptively simple scoping, multithreading features, or precedence rules.
Whether you're new to programming or just new Ruby, The Book of Ruby is your guide to rapid, real-world software development with this unique and elegant language.
By:
Huw Collingbourne
Imprint: No Starch Press,US
Country of Publication: United States
Dimensions:
Height: 234mm,
Width: 178mm,
Spine: 23mm
Weight: 766g
ISBN: 9781593272944
ISBN 10: 1593272944
Pages: 400
Publication Date: 01 August 2017
Audience:
General/trade
,
ELT Advanced
Format: Paperback
Publisher's Status: Active
"Acknowledgments; Introduction; What Is Ruby?; What Is Rails?; Matters of Ruby Style; How to Read This Book; Digging Deeper; Making Sense of the Text; Downloading Ruby; Getting the Source Code of the Sample Programs; Running Ruby Programs; The Ruby Library Documentation; Chapter 1: Strings, Numbers, Classes, and Objects; 1.1 Getting and Putting Input; 1.2 Strings and Embedded Evaluation; 1.3 Numbers; 1.4 Comments; 1.5 Testing a Condition: if..then; 1.6 Local and Global Variables; 1.7 Classes and Objects; Chapter 2: Class Hierarchies, Attributes, and Class Variables; 2.1 Superclasses and Subclasses; 2.2 Passing Arguments to the Superclass; 2.3 Accessor Methods; 2.4 Attribute Readers and Writers; 2.5 Calling Methods of a Superclass; 2.6 Class Variables; Chapter 3: Strings and Ranges; 3.1 User-Defined String Delimiters; 3.2 Backquotes; 3.3 String Handling; 3.4 Ranges; Chapter 4: Arrays and Hashes; 4.1 Arrays; 4.2 Hashes; Chapter 5: Loops and Iterators; 5.1 for Loops; 5.2 Blocks and Block Parameters; 5.3 Iterating upto and downto; 5.4 Multiple Iterator Arguments; 5.5 while Loops; 5.6 until Loops; 5.7 loop; Chapter 6: Conditional Statements; 6.1 if..then..else; 6.2 and, or, and not; 6.3 Negation; 6.4 if..elsif; 6.5 unless; 6.6 if and unless Modifiers; 6.7 Case Statements; Chapter 7: Methods; 7.1 Class Methods; 7.2 What Are Class Methods For?; 7.3 Class Variables; 7.4 Ruby Constructors: new or initialize?; 7.5 Singleton Methods; 7.6 Singleton Classes; 7.7 Overriding Methods; 7.8 Public, Protected, and Private Methods; Chapter 8: Passing Arguments and Returning Values; 8.1 Summarizing Instance, Class, and Singleton Methods; 8.2 Returning Values; 8.3 Returning Multiple Values; 8.4 Default and Multiple Arguments; 8.5 Assignment and Parameter Passing; 8.6 Integers Are Special; 8.7 The One-Way-In, One-Way-Out Principle; 8.8 Modifying Receivers and Yielding New Objects; 8.9 Potential Side Effects of Reliance on Argument Values; 8.10 Parallel Assignment; Chapter 9: Exception Handling; 9.1 rescue: Execute Code When Error Occurs; 9.2 ensure: Execute Code Whether or Not an Error Occurs; 9.3 else: Execute Code When No Error Occurs; 9.4 Error Numbers; 9.5 retry: Attempt to Execute Code Again After an Error; 9.6 raise: Reactivate a Handled Error; Chapter 10: Blocks, Procs, and Lambdas; 10.1 What Is a Block?; 10.2 Line Breaks Are Significant; 10.3 Nameless Functions; 10.4 Look Familiar?; 10.5 Blocks and Arrays; 10.6 Procs and Lambdas; 10.7 Block or Hash?; 10.8 Creating Objects from Blocks; 10.9 What Is a Closure?; 10.10 yield; 10.11 Blocks Within Blocks; 10.12 Passing Named Proc Arguments; 10.13 Precedence Rules; 10.14 Blocks as Iterators; Chapter 11: Symbols; 11.1 Symbols and Strings; 11.2 Symbols and Variables; 11.3 Why Use Symbols?; Chapter 12: Modules and Mixins; 12.1 A Module Is Like a Class ...; 12.2 Module Methods; 12.3 Modules as Namespaces; 12.4 Included Modules, or Mixins""; 12.5 Name Conflicts; 12.6 Alias Methods; 12.7 Mix In with Care!; 12.8 Including Modules from Files; Chapter 13: Files and IO; 13.1 Opening and Closing Files; 13.2 Characters and Compatibility; 13.3 Files and Directories; 13.4 Copying Files; 13.5 Directory Inquiries; 13.6 A Discursion into Recursion; 13.7 Sorting by Size; Chapter 14: YAML; 14.1 Converting to YAML; 14.2 Nested Sequences; 14.3 Saving YAML Data; 14.4 Omitting Variables on Saving; 14.5 Multiple Documents, One File; 14.6 A YAML Database; 14.7 Adventures in YAML; Chapter 15: Marshal; 15.1 Saving and Loading Data; 15.2 Omitting Variables on Saving; 15.3 Saving Singletons; Chapter 16: Regular Expressions; 16.1 Making Matches; 16.2 Match Groups; 16.3 MatchData; 16.4 Prematch and Postmatch; 16.5 Greedy Matching; 16.6 String Methods; 16.7 File Operations; Chapter 17: Threads; 17.1 Creating Threads; 17.2 Running Threads; 17.3 Going Native; 17.4 The Main Thread; 17.5 Thread Status; 17.6 Ensuring That a Thread Executes; 17.7 Thread Priorities; 17.8 The Main Thread Priority; 17.9 Mutexes; 17.10 Fibers; Chapter 18: Debugging and Testing; 18.1 IRB: Interactive Ruby; 18.2 Debugging; 18.3 Unit Testing; Chapter 19: Ruby on Rails; 19.1 Installing Rails; 19.2 Model-View-Controller; 19.3 A First Ruby on Rails Application; 19.4 Create a Rails Application; 19.5 Create a Controller; 19.6 Anatomy of a Simple Rails Application; 19.7 The Generate Controller Script Summarized; 19.8 Create a View; 19.9 Rails Tags; 19.10 Let's Make a Blog!; Chapter 20: Dynamic Programming; 20.1 Self-Modifying Programs; 20.2 eval; 20.3 Special Types of eval; 20.4 Adding Variables and Methods; 20.5 Creating Classes at Runtime; 20.6 Bindings; 20.7 send; 20.8 Removing Methods; 20.9 Handling Missing Methods; 20.10 Writing Programs at Runtimmmmmme; 20.11 Exploring Further; Documenting Ruby with RDoc; Installing MySQL for Ruby on Rails; Downloading MySQL; Installing MySQL; Configuring MySQL; Can't Find the Database?; Further Reading; Books; Ebooks; Websites; Ruby and Rails Development Software; IDEs and Editors; Web Servers; Databases; Ruby Implementations; Colophon; Updates;"
Huw Collingbourne is the Director of Technology for SapphireSteel Software, developer of the Ruby In Steel IDE. With 30 years of programming experience, he has written programming columns for numerous magazines, presented features on computing for BBC Television, and currently edits the online technical journal Bitwise Magazine. He has previously released two free ebooks on Ruby-The Little Book of Ruby and The Book of Ruby.
Reviews for The Book of Ruby
"""I'm no longer afraid of Ruby or daunted by its syntax. If you're looking for a good introduction to the language The Book of Ruby should be on your buying list."" —Craig Buckler, OptimalWorks Web Design ""Collingbourne knows his subject and if you are a software developer wanting to learn more about Ruby there is plenty of valuable material here."" —Tim Anderson, ITWriting ""The Book of Ruby is not just technically good or accurate, it is truly well written."" —Ecommerce Developer ""Recommended for established developers new to Ruby."" —Dr. Dobb's Developer Reading List ""If you are interested in learning Ruby then this is the book for you."" —ACM SIGSOFT Software Engineering Notes ""A nicely written (and nicely printed) guide to Ruby that covers everything you would expect from a Ruby guide in untiring detail."" —Durham University Computing Society ""Covers all the fundamentals of the language, as well as gives a great start into the Rails framework and dynamic programming."" —Sean Patterson, Fresh Consulting"