🗓️ 24072024 1142
📎
closures
- Essentially blocks of code that can be assigned to variables, passed as arguments to functions, and executed later
- They capture and remember the environment in which they were created (including variables), making them very versatile.
Groovy example
def greeting = { name -> println "Hello, $name!" } // Define a closure
greeting("Alice") // Call the closure
- Used extensively in:
- Builders: To construct complex objects (like XML or HTML).
- Collections: To transform or filter elements.
- Testing Frameworks: To set up test data and conditions.
References
- Gemini