Thread Arrays mit Paaren vergleichen (6 answers)
Opened by pktm at 2010-09-09 23:29

Gast JaUnd
 2010-09-10 13:37
#141274 #141274
was du "union" nennst sollte besser "intersection" heißen :)

es zeigt sich auch dass es in diesem Fall nicht so trivial ist weil man eine Vergleichsfunktion braucht, um Arrayrefs zu vergleichen. M.a.W. entscheiden ob ein Arrayref ein Element oder eine Untermenge ist.

Auch der Vergleich von Mengen ist nicht trivial, meine Lösung
Code: (dl )
"@$a" eq "@$b"
könnte bei refs als Elementen nicht funktionieren.

Was verwirrt ist das Perl bei Klammerung wohl ein Listassign kennt also
Code: (dl )
($a,$b)=($b,$a) 
aber kein Listcompare
Code: (dl )
(@a)==(@b)
. (die Längen werden verglichen)

Dafür gibts jetzt smartmatch, das aber rekursiv in die Tiefe geht:

Code: (dl )
1
2
perl -E'@a=(1,[]);@b=(1,[]);print @a~~@b'
1

Last edited: 2010-09-10 13:43:19 +0200 (CEST)

View full thread Arrays mit Paaren vergleichen