CSC/ECE 517 Fall 2010/ch1 1b YL
Closures in Ruby vs. closures in other languages
Introduction
Before discussing semantic and implementation differences of closure implementation in different languages, closures should be discussed first.
A closure is a first-class function with free variables that are bound in the lexical environment. Such a function is said to be "closed over" its free variables. Closures:Wikipedia
Now in this definition first-class function is nothing but the function which is treated as first-class objects.
Specifically, this means that the language supports constructing new functions during the execution of a program, storing them in data structures, passing them as arguments to other functions, and returning them as the values of other functions. [1]