Most people consider metaprogramming an advanced topic. To play with the constructs of a Ruby program, you have to know how these constructs work in the first place. How do you know whether you’re enough of an “advanced” Rubyist to deal with metaprogramming? Well, if you can understand the code in the very first chapter without much trouble, then you are well equipped to move forward.
If you’re not confident about your skills, you can take a simple self-test. Which kind of code would you write to iterate over an array? If you thought about the each method, then you know enough Ruby to follow the ensuing text. If you thought about the for keyword, then you’re probably new to Ruby. In the second case, you can still embark on this metaprogramming adventure—just take an introductory Ruby text along with you, or take the excellent interactive tutorial at the Try Ruby! site.
Are you on board, then? Great! Let’s start.