In Groovy we can assign default values to parameters in a method. If we define a default value for a parameter Groovy basically supports two method signatures: one with all parameters and one where the parameter with a default value is omitted. If we use multiple parameters with default values then the right most parameter with a default value is first eliminated then the next and so on.
def say(msg = 'Hello', name = 'world') { "$msg $name!" } // We can invoke 3 signatures: // say(), say(msg), say(msg, name) assert 'Hello world!' == say() // Right most parameter with default value is eliminated first. assert 'Hi world!' == say('Hi') assert 'Howdy, mrhaki!' == say('Howdy,', 'mrhaki')
Run this script in GroovyConsole.