WeatherMunger Kata 3 (String.format-DRY)
0
WeatherMunger Kata 3 (String.format-DRY)
def number = /\W+(\d+)/
def eintraege = []
new File('weather.dat').text.eachMatch(/(?m)^${number * 3}.*/){ all, tag, max, min ->
def spread = max.toInteger() - min.toInteger()
eintraege << [tag:tag, spread:spread, min:min, max:max]
}
eintraege
.sort{ it.spread }
.each{
def format = it.keySet().collect{ format(it) + ':%3s'}.join(' ')
def values = it.values()*.toString()
println String.format(format, *values)
}
def format(label) { label[0].toUpperCase() + label[1..-1] }






There are currently no comments for this snippet.