I am assuming you are intrigued about Ruby blocks. My assumption is that you are aware that they exist but unsure of what they are or how to use them. From my experience main obstacle in understanding them is introduction of multiple concepts all at once. You need to understand closures and procs to understand blocks. Also Ruby mix-up with lambda vs. proc debate is not helpful either. There are some great posts about the subject. For example Understanding Ruby Blocks Procs and Lambdas.
Nightmare at 20,000 Feet via Wikipedia
I am going to bluntly ignore the details and just give the 20,000 feet look at it.
Block in Ruby is just another type of variable.

