Zugehörige Evaluatoren
Beschreibung
Die Funktion equals vergleicht zwei Zeichenketten auf ihre exakte Übereinstimmung. Die Funktion erwartet zwei Strings und gibt einen Boolean zurück.
Syntax
equals(Zeichenkette zeichenkette1, Zeichenkette zeichenkette2)
Parameter
- zeichenkette1 - erste zu vergleichende Zeichenkette
- zeichenkette2 - zweite zu vergleichende Zeichenkette
Return Value
Beispiele
Standardfälle
equals('hallo','hallo') --> returns true
equals('JACK','jack') --> returns false
equals('2', 'sqrt(4)') --> returns false
equals(2, sqrt(4)) --> returns true
Benutzung von Variablen
equals('text',[var=a])
Benutzung mit studentischen Eingaben
Jack2:
equals([pos=1],'text')
equals([var=b],[pos=2])
Jack3:
equals([input=fillin1],'text')
equals([var=b],[input=fillin2])
Vergleich mit equal und equalsExpr
Es werden die drei Funktion equal, equalsExpr und equals in Zussammenhang gesetzt, welche Funktion in welcher Situation was zurückgibt. Dabei bekommen die Funktionen entweder einen String Ausdruck oder einen mathematischen Ausdruck als Eingabe. Die Ausgaben true und false bedeuten, dass die Eingaben ausgewertet werden können, error bedeutet, dass die Eingabe nicht ausgewertet kann und ein Fehler zurückgegeben wird.
Ausdrücke ohne Operator
Eingabe |
equal / equalsExpr |
equals
|
String, String (Bsp.: 'hello','hello') |
Error |
True
|
String, String (Bsp.: '23','23') |
Error |
True
|
String, math (Bsp.: '23',23) |
Error |
True
|
math, String (Bsp.: 23,'23') |
Error |
True
|
math, math (Bsp.: 23,23) |
True |
True
|
Ausdrücke mit Operator
Eingabe |
equal / equalsExpr |
equals
|
String, String (Bsp.: '2+3','3+2') |
Error |
False
|
String, String (Bsp.: '2+3','2+3') |
Error |
True
|
String, String (Bsp.: '2+3','5') |
Error |
False
|
String, String (Bsp.: 'sin(2)+sqrt(2)','sin(2)*1+sqrt(2)*1') |
Error |
False
|
String, math (Bsp.: '2+3',3+2) |
Error |
False
|
String, math (Bsp.: '2+3',2+3) |
Error |
False
|
String, math (Bsp.: '2+3',5) |
Error |
False
|
String, math (Bsp.: '5',2+3) |
Error |
True
|
String, math (Bsp.: 'sin(2)+sqrt(2)',sin(2)*1+sqrt(2)*1) |
Error |
False
|
math, math (Bsp.: 2+3,3+2) |
True |
True
|
math, math (Bsp.: sin(2)+sqrt(2),sin(2)*1+sqrt(2)*1) |
True |
True
|
math, math (Bsp.: 3.7,37/10) |
True |
False
|
Ausdrücke mit Operator und Variablen
Eingabe |
equal / equalsExpr |
equals
|
String, String (Bsp.: '2x','2x') |
Error |
True
|
String, String (Bsp.: 'x+y','y+x') |
Error |
False
|
String, math (Bsp.: '2x',2x) |
Error |
True
|
String, math (Bsp.: 'x+y',y+x) |
Error |
True
|
String, math (Bsp.: '5y',2y+3*y) |
Error |
True
|
math, math (Bsp.: 5x+3x,8*x) |
True |
True
|
math, math (Bsp.: 5x+3x,3x+5x) |
True |
True
|
math, math (Bsp.: sin(x),sin(x)*1) |
True |
True
|
Hinweise
- Die Zeichenketten sollten in einfachen Anführungszeichen stehen, da sonst bei Rechenausdrücken das Ergebnis verglichen wird.
- Strings werden nicht in Sage umgeformt, beide Strings werden mit der Java-Methode equals verglichen.
- Wenn ein String mit einem mathematischen Ausdruck verglichen wird, dann wird zunächst der Ausdruck mit Sage evaluiert und das Ergebnis zu einem String umgeformt. Dieser wird dann mit dem anderen String verglichen. Dadurch liefert
equals('5',2+3)
true zurück.
- Wenn zwei mathematische Ausdrücke miteinander verglichen werden, dann werden beide Ausdrücke jeweils zuerst in Sage evaluiert. Sage liefert dann für beide das Ergebnis als Strings zurück. Diese werden dann miteinander verglichen.
- Es wird zwischen Groß- und Kleinschreibung unterschieden.
- Die Funktion equals vergleicht zwei Strings, auch Leerzeichen werden gezählt.
- Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
- Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.