Ruby Metaprogramming Study Note
Pull request Compare This branch is 1 commit behind ashbb:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
notes
snippets
src
tools
README.md
human_walking_snapshot.png
turtle_graphics_snapshot.png

README.md

Ruby Metaprogramming Study Note

I'm now taking a sniff of Ruby Metaprogramming. This is my tiny Study Note. :)
Aug. 22st, 2009 by ashbb (Satoshi Asakawa)

Videos

  1. MetaProgramming - Extending Ruby for Fun and Profit - free

  2. The Ruby Object Model and Metaprogramming: Episode 1-7 - bought

  3. The Ruby Object Model - free
    Presentation of the Scotland on Rails conference 2009, by Dave Thomas

Books

  1. The Ruby Programming Language, Chapter 8: Reflection and Metaprogramming

  2. Programming Ruby, Chapter 24: Metaprogramming

  3. The Well-Grounded Rubyist, Part 3: Ruby dynamics

  4. The Book Of Ruby, Chapter 20: Dynamic Programming

  5. Ruby Best Practices, Chapter 3: Mastering the Dynamic Toolkit

  6. Metaprogramming Ruby by Paolo Perrotta, Super Highly Recommend!!

Sample Apps

  1. cold-sky-27
    A simple twitter client on Heroku, written in Ruby DSL as a Sinatra app.

  2. Dwemthy's Array Study Note
    _why's mini tutorial about Ruby Metaprogramming.

  3. ToDoList with IRB
    A tiny sample program for the first exercise.

  4. Turtle Graphics with Shoes
    Very simple Ruby DSL on Shoes.

  5. An Exercise in Metaprogramming with Ruby - Study Note
    Hal Fulton's fantastic exercise.

  6. Human Walking
    Using eval, instance_eval, instance_variables, instance_variable_set.

  7. alias_method_chain
    Rails' fantastic magic. Refer to Metaprogramming Ruby, Chapter 7.

  8. Event Checker
    Refer to Metaprogramming Ruby, Chapter 3.

Previous Exercises of Ruby Metaprogramming Course at RubyLearning

Interesting Articles

Small Snippets

  • ss001: nested def keyword
  • ss002: closure and flat scope
  • ss003: class variables belong to class hierarchies

To do list

  • create more sample codes
  • write more contents

Let's Enjoy Ruby Metaprogramming!

:-D
ashbb