Introduction with Sample Code: Blocks Method call can take a block It's kind of callback Used for Iteration, Hook, Procedure abstraction, etc. # "each" calls back for each elements array.each() {|a| print a}