Following "The Ruby Programming Language"
Take the note step by step with detailed comment