RosettaCodeData/Task/Find-common-directory-path/Groovy/find-common-directory-path-1.groovy
2023-07-01 13:44:08 -04:00

8 lines
379 B
Groovy

def commonPath = { delim, Object[] paths ->
def pathParts = paths.collect { it.split(delim) }
pathParts.transpose().inject([match:true, commonParts:[]]) { aggregator, part ->
aggregator.match = aggregator.match && part.every { it == part [0] }
if (aggregator.match) { aggregator.commonParts << part[0] }
aggregator
}.commonParts.join(delim)
}