这书不需要介绍了吧……在 N 年后与时俱进的第二版(支持到 Ruby 2.1)终于发布了,虽然现在还是 Beta 的,但是可以持续关注,感兴趣的可以尝鲜。
Metaprogramming Ruby (2nd edition)
March 12, 2014 Today is an auspicious day! Coca-Cola was first bottled and sold on this day in 1894, making later advances in programming possible.
While in your caffeine-induced flurry of productivity, grab a copy of Metaprogramming Ruby, Second Edition (pragprog.com/book/ppmetr2) and imbibe the secrets of wizard-level Ruby, brought down to earth for mere mortals to enjoy and profit.
An auspicious day, indeed.
Metaprogramming Ruby, Second Edition
Dig under the surface and explore Ruby's most advanced feature: a collection of techniques and tricks known as metaprogramming. In this book, you'll learn metaprogramming as an essential component of Ruby and discover the deep, non-obvious details of the language. Once you understand the tenets of Ruby, including the object model, scopes, and singleton classes, you're on your way to applying metaprogramming both in your daily work assignments and in your fun, after-hours projects.
Metaprogramming Ruby, Second Edition makes mastering the language enjoyable. The book is packed with:
Pragmatic examples of metaprogramming in action, many of which come straight from real-life gems such as Rails. Programming challenges that let you experiment and play with some of the most out-there metaprogramming concepts. Metaprogramming "spells"—33 practical recipes and idioms that you can study and apply right now, to write code that is sure to impress. This completely revised new edition covers the new features in Ruby 2.0 and 2.1, and contains code from the latest Ruby libraries, including Rails 4. Most examples are new, "from the wild," with more recent libraries. And the book reflects current ideas of when and how much metaprogramming you should use.
Whether you're a Ruby apprentice on the path to mastering the language or a Ruby wiz in search of new tips, this book is for you.
If you own the first edition: you'll find an upgrade coupon for 35% in your account. Enjoy!
Now in beta at pragprog.com/book/ppmetr2.