Patrick Andrieu: Vergleich zweier gleicher Arrays gibt false zurück

Beitrag lesen

Hallo Jeena!

Wenn man so einen Vergleich macht dann will man doch eigentlich fast immer dass da true rauskommt.

Mit meinem frührern »Verständnis« der Programmierung hätte ich genauso reagiert wie Du. Heute bin ich 2cm weiter, und es erscheint mich logisch (hier mit Perl):

my $a = [1];  
my $b = [1];  
my $x = 1;  
my $y = 1;  
  
# $/ entspricht defaultmässig \n, wenn nicht anders definiert...  
  
print '$a: ', $a, $/;  
print '$b: ', $b, $/;  
print '$x: ', $x, $/;  
print '$y: ', $y, $/;  
  
print 'VERGLEICH $a <-> $b:', $/;  
if ($a == $b) { print "TRUE\n"; } else { print "FALSE\n"; }  
print 'VERGLEICH $x <-> $y:', $/;  
if ($x == $y) { print "TRUE\n"; } else { print "FALSE\n"; }

Ausgabe:
$a: ARRAY(0x35218) <- Na?
$b: ARRAY(0x35434) <- Klingelt's?
$x: 1
$y: 1
VERGLEICH $a <-> $b:
FALSE
VERGLEICH $x <-> $y:
TRUE

Viele Grüße aus Frankfurt/Main,
Patrick

--

_ - jenseits vom delirium - _
[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
Nichts ist unmöglich? Doch!
Heute schon gegökt?