Eine Liste von Domains nach Topleveldomains sortieren. Erste Näherung, schnell und schmutzig.
#!/usr/bin/ruby domains = Array.new while line = gets domains.push(line.chomp.split('.').reverse.join('.')) end domains.sort.each {|domain| puts domain.split('.').reverse.join('.')}
Wer Perl schon scheiße findet, muß Ruby eigentlich hassen. 😉
Eine andere Moeglichkeit die Domains zu sortieren waere vielleicht etwas eleganter:
domains = Array.new
while line = gets
domains.push line.chomp
end
domains.sort!{|a,b|
a.split(“.”).reverse.join(“.”) b.split(“.”).reverse.join(“.”)
}
Damit musst du wenigstens das joinen und splitten nicht wieder rueckgaengig machen.
Comment by Martin — August 22, 2007 @ 9:46 pm
Na ja, mit Perl geht es immer noch ein Stückchen schlimmer:
print foreach map { join ‘.’, reverse split /\./ } sort map { join ‘.’, reverse split /\./ } ;
SCNR
Comment by 8jean — August 22, 2007 @ 10:09 pm
(vor dem Semikolon wurde das STDIN in spitzen Klammern verschluckt)
Comment by 8jean — August 22, 2007 @ 10:10 pm