Named parameters
Named parameters allow us to be explicit about naming arguments when passed to a function. This has the benefit that for functions with many parameters, explicit naming makes the intent of each argument clear. This makes the call site more readable.
In the following example, we check to see whether the first string contains a substring of the second:
val string = "a kindness of ravens" string.regionMatches(14, "Red Ravens", 4, 6, true)
To use named parameters, we put the parameter name before the argument value. Here is the function call again, this time with named parameters:
string.regionMatches(thisOffset = 14, other = "Red Ravens", otherOffset = 4, length = 6, ignoreCase = true)
This second example is more readable at the cost of being more verbose, but it is now clear what each of the parameters is meant for. The final Boolean
, which you might have guessed was case sensitivity, is now obvious. If you don't have named parameters, you must check the...