A closure is a capability of certain programming languages. As with many terms relating to software, there are conflicting definitions of closure within the field of computer science. According to Martin Fowler: "Some people say that the term only applies to an actual value that includes bindings from its environment...Others use the term 'closure' to refer to a programming construct that has the ability to bind to its environment."[1]
The Ruby programming language article has a discussion of closures.