Laden...

Welche Programmiersprache bietet "===" an?

Erstellt von martinO vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.412 Views
M
martinO Themenstarter:in
164 Beiträge seit 2009
vor 14 Jahren
Welche Programmiersprache bietet "===" an?

Hallo Leute

Ich hab ein riesen Durcheinander im Kopf. Welche Programmiersprache bietet den "===" Operator an, um Werte zu vergleichen die auch noch denselben Typ haben müssen?

int x = 5;
short y = 5;
int z = 5;
if (x == y) //true
if (x === y) //false
if (x === z) //true

Ich weiss, dass ich das schon irgendwo gesehen habe, aber wo? Zur Auswahl stehen: .Net (ists nicht), Java, PHP (haha), C, C++, Perl, Python, Eiffel, Ada, Lisp (eher weniger), Prolog
Nicht erschrecken, ich beherrsche keine einzige 😉 Bei den Programmiersprachen nach C++ in der Liste hatte ich nur eine kleine Einführung mit den basic Befehlen

[EDIT]: Google, omgili, search.ch filtern = eben weg, darum ist die Internetsuche schwierig 😦

I
279 Beiträge seit 2008
vor 14 Jahren

PHP bietet diesen operator

Guck mal hier

60 Beiträge seit 2008
vor 14 Jahren

$a === $b
Gibt TRUE zurück wenn $a gleich $b ist und beide vom gleichen Typ sind (seit PHP 4).

http://de.wikipedia.org/wiki/Vergleichsoperator

S.

M
martinO Themenstarter:in
164 Beiträge seit 2009
vor 14 Jahren

merci

(bin zwar überrascht, aber...)

2.891 Beiträge seit 2004
vor 14 Jahren

Hallo martinO,

Google, omgili, search.ch filtern = eben weg, darum ist die Internetsuche schwierig

Guckst du bei der Google Code Search nach \w===\w ganz oben:
"Also try: \w===\w lang:**javascript **\w===\w lang:**php **\w===\w lang:xpm".

Gruß,
dN!3L

771 Beiträge seit 2009
vor 14 Jahren

Der '==='-Operator macht auch nur bei Sprachen mit dynamischen Datentypen Sinn (daher fallen die "üblichen Verdächtigen" raus -).

T
381 Beiträge seit 2009
vor 14 Jahren

Der '==='-Operator macht auch nur bei Sprachen mit dynamischen Datentypen Sinn (daher fallen die "üblichen Verdächtigen" raus -).


class Caprio : Car {

}

//...

Car x;
Caprio y;

if (x === y) {} // True wenn in der Variable Car auch ein Caprio steckt

Ich weiß es gibt den "is" Operator. Aber ganz so weit hergeholt finde ich mein Beispiel jetzt nicht.

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo Tarion,

da === den Typ und den Wert vergleicht, taugt es aber nicht als Ersatz für is.

Hallo zusammen,

in PHP ist wegen der sehr weitgehenden automatischen Typumwandlung 0 == "" und auch true == "falsch". So praktisch die automatische Typumwandlung in vielen Fällen ist, ist das nicht immer, was man will. Deshalb braucht man den ===-Operator, der z.B. 0 und "" als unterschiedlich betrachtet, weil er zusätzlich zur Wertgleichheit auch die Typgleichheit prüft.

Der ===-Operator prüft also nicht, wie das an verschiedenen Stellen im Netz zu lesen ist, auf Identität, wie das der Standard-Referenzvergleich == in C# tut, sondern nur auf Wert- und Typgleichheit.

herbivore