From: Wayne Brisette Date: 2013-05-13T23:43:58+09:00 Subject: Re: Basic question about blocks Actually, Ruby is doing exactly what you are asking it to do.  You need to rewrite your block to get what you are looking for.  animals { |x| puts "Hello, #{x}\nIt's #{x.length} characters long!" } When you were calling animals, it stepped through both yields. That's expected. Why do you think it should have been otherwise?  Wayne