A procedure block is used in languages such as Ruby as a basic construct of programming. It is a closure or lambda, and may be thought of as an anonymous function. A procedure block may be created implicitly when it is passed to a method. For example, in Ruby, methods may take a procedure block as an argument, and this is especially common with iterators, such as:

[1, 2, 3].each {|x| print "Hi, ", x, ".\n"}