Thread Hilfe für Regex
(21 answers)
Opened by lousek at 2011-08-06 17:24 2011-08-08T18:04:09 lousek Genau das ist es. So eine Art "Mengenlehre", wobei die Mengen aus skalaren Werten bestehen: Vereinigungsmengen (union), Schnittmengen (intersection), Restmengen (difference) und so weiter. Quote Du zeigst hier gerade die komplexeren Beispiele mit drei Mengen. Für deine Anwendung reichen ja zwei Mengen, daher beschränke ich mich darauf. Ein $a->difference($b) bedeutet soviel wie "alle Elemente von $a außer denen, die auch in $b sind". Quote Doch, genau das ist es. Mit zwei Mengen: $a->unique($b) sind alle Elemente, die in $a, aber nicht in $b sind, vereinigt mit allen Elementen, die in $b, aber nicht in $a sind. $a->unique($b) ist also die Vereinigung von $a->difference($b) und $b->difference($a). Damit ist auch klar, dass $a->unique($b) identisch ist mit $b->unique($a). Du wolltest aber, wenn ich das richtig sehe, die beiden Differenzen getrennt haben in @db und @fs, und nicht beide zusammengeworfen. Dank Überladen von Operatoren in Set::Scalar kann man die Differenzen auch als $a - $b bzw. $b - $a schreiben. Ich finde die Methoden-Schreibweise aber etwas verständlicher. Quote Wenn du die Daten ohnehin schon in Arrays hast, brauchst du kein tie, richtig. Dann geht es auch schneller. Quote Wie oben schon gesagt: die beiden Ergebnisse wären gleich. |