The Java community has resisted closures so far, even as competing languages such as C# add them. Closures are anonymous functions with closed scope. It's best to think of a closure as a code block that you can use as an argument, with special scoping rules. This article dives deep into Closures and uses Ruby to show how closures work.