RosettaCodeData/Task/Find-common-directory-path/Groovy/find-common-directory-path-1.groovy
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07: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)
}