WeatherMunger Kata original
import java.util.regex.Matcher
import java.util.regex.Pattern
// http://codekata.pragprog.com/2007/01/kata_four_data_.html
//println "Starte Groovy Kata - WeatherMunger"
class WeatherData { def day; int max, min; int spread() { max - min }}
data = []
def pattern = ~/\s+(\d+)\D+(\d+)\D+(\d+).*/
def file = new File("weather.dat")
assert file.exists()
file.eachLine{ line ->
matcher = pattern.matcher(line);
if (matcher.matches()) {
def day = matcher.group(1)
int max = Integer.valueOf(matcher.group(2))
int min = Integer.valueOf(matcher.group(3))
data << new WeatherData(day: day, max: max, min:min)
}
// andere Zeilen werden ignoriert...
//else { println "Zeile konnte nicht gelesen werden: " + line }
}
assert data.size() == 30
data.sort { it.spread() }.each{
println String.format("Tag:%3s Spread:%3s Min:%3s Max:%3s", it.day, it.spread(), it.min, it.max)
}
//println "Groovy Kata - WeatherMunger - erfolgreich beendet!"






There are currently no comments for this snippet.