From: Michael Judge Date: 2007-02-22T07:23:12+09:00 Subject: Please illuminate how stupid I am re: initialization blocks. I seem to use blocks much differently from other people and that frightens me a little. (Maybe I'm being really dumb and nobody wants to say anything.) Before I get into what I do, let me define how normal people call a block passed in to a method. They use "yield". And that's cool, that's what yield is intended for. Their methods tend to look like this when they're later put into practical use: create_table :users do |t| t.column :first, :string t.column :last, :string end If I had programmed create_table though, I would have used instance_eval, and you'd use create_table like this: create_table :users do column :first, :string column :last, :string end Am I being really dumb? Is there something horrifying that I'm not grasping? Thanks for your help! - Michael Judge