WeatherMunger Kata 1 (not 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{ println it.collect{
def label = format(it.key)
def wert = it.value.toString().padLeft(3)
"$label:$wert "
}.join()
}
def format(label) { label[0].toUpperCase() + label[1..-1] }






There are currently no comments for this snippet.