February 2, 2004 Intro to Ruby Slide #18
Prev Next

Closures

Lexical closures are created with proc function:
     def power_of(n)
       return proc do |p|
         p ** n
       end
     end
     
     squared = power_of(2)
     cubed = power_of(3)
     
     squared.call(3)   => 9
     cubed.call(3)     => 27


Prev Copyright © 2004 Walter C. Mankowski Next