Contents

  • Ruby For Beginners
  • Preface
  • Programming is creation
  • Learning to program
    • Learning modes
    • Don’t believe everything we say
    • Formatting your code
    • Reading error messages
    • Using Google
  • Your tools
    • Text Editor
    • Terminal
    • Ruby runtime
    • Programming workflow
    • Interactive Ruby
  • Our Roadmap
  • Object-oriented programming
  • Variables
    • Reusing variable names
    • Things on the right go first
  • Built-In Data Types
    • Numbers
    • Strings
    • True, False, and Nil
    • Symbols
    • Arrays
    • Hashes
  • Objects, Classes, Methods
    • Objects have classes
    • Classes create objects
    • Objects have methods
    • Calling methods
    • Passing arguments
    • Listing methods
    • Predicate methods
    • Bang Methods
  • Writing Methods
    • What makes a method
    • Defining a method
    • Using (calling) a method
    • Return values
    • Scopes
    • Combining Methods
    • Printing things
  • Writing classes
    • Defining classes
    • Defining instance methods
    • Initializing objects
    • Instance variables
    • Attribute readers
    • Attribute writers
    • State and behaviour
    • Interacting Objects
    • Object Scope and Self
  • Blocks
    • Alternative block syntaxes
    • Block arguments
    • Block return values
    • Inversion of control
    • Iterators
  • Conditionals
    • Nothingness and the truth
  • Operators
    • Arithmetical operators
    • Logical operators
    • Comparison operators
    • Operators are methods
  • Bonus Chapters
    • String interpolation
    • Top-level object
    • Lots of other methods
    • Questions and commands
    • Alternative Syntax
    • Using the right words
    • Arguments and parentheses
    • Terminology: Arguments vs Parameters
    • Writing a new method
  • Advanced Topics
    • Using Libraries (1)
    • Modules
    • Private methods
    • Procs
    • Yield
    • Regular Expressions
  • Exercises (old)
    • Working with Numbers
    • Working with Strings
    • Working with Arrays (1)
    • Working with Hashes (1)
    • Defining methods
    • Working with Arrays (2)
    • Working with Nested Arrays
    • Working with Hashes (2)
    • Truthiness
    • The Email Class
    • The Mailbox Class
    • The Mailbox Text Formatter
    • The Mailbox Html Formatter
    • Storing our HTML to a File
    • Reading from a CSV File
  • Exercises
    • Working with Numbers
    • Working with Strings
    • Working with Arrays (1)
    • Working with Hashes (1)