Sprach-Konstrukte / Gleich oder Ungleich

Gleich oder Ungleich

Sehr oft müssen Objekte miteinander verglichen werden.

In JayMo existieren hierzu 3 verschiedene Funktionen, inklusive der jeweiligen Umkehrung:

Vergleich Umkehrung Info
.equally
.diffly
Ist ähnlich
.equals
.differs
Ist gleich
.same
.other
Ist identisch

Vergleichs-Operatoren

Operator Funktion Info
==~
.equally
Ist ähnlich
==
.equals
Ist gleich
===
.same
Ist identisch
!=~
.diffly
Ist nicht ähnlich
!=
.differs
Ist nicht gleich
!==
.other
Ist nicht identisch

Equally, "==~"

Mit "equally" wird geprüft, ob zwei Objekte miteinander vergleichbar sind. Hier wird der Typ ignoriert, der logische Wert muss identisch sein.

So lassen sich z.B. folgende Vergleiche anstellen:

Print '1'   ==~ "1"      # true
Print '1'   ==~ 1        # true
Print 1b    ==~ true     # true
Print "1.0" ==~ true     # true

Diffly, "!=~"

Dies ist die Umkehrung von "equally".

"Diffly" gibt "true" zurück, wenn sich beide Objekte nicht ähnlich sind. Ansonsten wird "false" zurück gegeben.

Equals, "=="

Dies ist die meist verwendetste Prüfung.

"Equals" gibt "true" zurück, wenn die beiden zu prüfenden Objekte gleichwertig sind. Der Typ muss dabei ähnlich, also aus der selben Gruppe sein.

So können z.B. Zahlen nicht mit Zeichen (Char,String) oder Bool verglichen werden, bzw. führt dies immer zu einem "false".

Print '1' == "1"   # true
Print '1' == 1     # false
Print 1b  == 1     # true

Differs, "!="

Dies ist die Umkehrung von "equals".

"Differs" gibt somit "true" zurück, wenn beide Objekte verschieden sind.

Same, "==="

Mit "same" wird geprüft, ob ein Objekt mit einem anderen Objekt identisch ist. Falls ja, wird "true", ansonsten "false" zurückgegeben.

Identisch bedeutet, dass das Objekt 100%ig mit dem anderen Objekt überein stimmt. Bei atomaren Objekten muss somit auch der Typ identisch sein.

Print "x" === "x"     # true
Print "x" === 'x'     # false
Print 5   === 5i      # true
Print 5   === 5b      # false

Other, "!=="

Dies ist die Umkehrung von "same".

Hier wird "true" zurückgegeben, wenn beide Objekte verschieden sind.

Print 'a' !== 'z'    # true
Print 'b' !== 'b'    # false
- Powered by OghsWiki -

 

 

Unterstützen

Die Entwicklung von "JayMo" wird derzeit nur durch Eigeninitiative ermöglicht.

Erhalten:  0 €