Skip to content

bjpcjp/well-grounded-rubyist-book-notes

Repository files navigation

The Well-Grounded Rubyist

My Notes (in progress)

book-cover

  • This is nowhere near 100% complete - this release merely shames me into finishing.

Contents:

  1. Bootstrapping

    • installation, syntax, Ruby basics
    • Ruby anatomy
    • Ruby extensions & libraries
    • Ruby standard tools
      • ruby, irb, rdoc, ri, rake, gem, erb
  2. Objects, Methods, Local Variables

    • talking to objects
    • creating an object
    • innate object behaviors
    • method arguments
    • local variables & assignments
  3. Classes

    • classes & instances
    • instance variables & object state
    • setter methods
    • attributes
    • inheritance
    • classes as objects & message receivers
    • constants
    • nature vs nurture
  4. Modules

    • intro
    • modules, classes & method lookup
    • method_missing
    • class & module design/naming
  5. Self

    • intro
    • scope
    • method-access rules
    • top-level methods
  6. Control Flow Techniques

    • conditional execution
    • loops
    • iterators & code blocks
    • error handling & exceptions
  7. Essential Classes & Modules

    • literal constructors
    • syntactic sugar
    • bang methods and danger
    • conversion methods
    • boolean states & objects ... and nil
    • comparing two objects
    • inspecting object capabilities
  8. Strings, Symbols, other Scalars

    • string basics
    • symbols
    • numbers
    • times & dates
  9. Collections & Containers

    • arrays & hashes
    • collection handling with arrays
    • hashes
    • ranges
    • sets
  10. Enumerables

    • each
    • boolean queries
    • searches & indexes
    • element-wise ops
    • additional ops
    • map, aka collect
    • strings as enumerables (sorta)
    • sorting
    • enumerators
    • enumerator semantics & use cases
    • method chaining
    • lazy enumerators
  11. Regular Expressions

    • intro
    • writing
    • building a pattern
    • matching, substrings, MatchData
    • quantifiers, anchors, modifiers
    • string <=> regex conversions
    • common use cases
  12. File I/O Operations (TODO)

    • IO class
    • basic file ops
    • IO and File queries
    • directories
    • file tools
  13. Object Individualization

    • singletons
    • modifying core classes & modules
    • BasicObject
  14. Callables & Runnables

    • procs
    • lambdas and ->
    • methods as objects
    • eval family of methods
    • threads
    • system commands from inside Ruby
  15. Callbacks, Hooks, Runtime Introspection (TODO)

    • callbacks & hooks
    • interpreting object capability queries
    • introspection: variables & constants
    • tracing execution
    • callbacks & method inspection in practice
  16. Functional Programming

    • pure functions
    • immutability
    • higher-order functions
    • recursion

About

My working notes of "The Well-Grounded Rubyist" (Black & Leo), implemented in Jupyter Lab (Ruby kernel 2.7.0)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published