به طور کلی یک تابع که از متغیر های قابل دسترس در اسکوپی که تعریف شده هستند برای تولید نتیجه استفاده می کند Closure می گویند به طور مثال در اسکالا تابع muliplier یک closure می باشد.
object Test {
def main(args: Array[String]) {
println( "muliplier(1) value = " + multiplier(1) )
println( "muliplier(2) value = " + multiplier(2) )
}
var factor = 3
val multiplier = (i:Int) => i * factor
}