Was ist der Unterschied zwischen = und ==?
Was ist der Unterschied zwischen =
und ==
? Ich habe Fälle festgestellt, in denen die doppelte Gleichheitszeichen wird zulassen, dass mein Skript ausgeführt werden, während ein Gleichheitszeichen erzeugt eine Fehlermeldung. Wann sollte ich ==
statt =
?
=
ist die Zuordnung==
ist ein logischer Vergleich- Die sind auch Hilfe-Seiten, wenn Sie jemals stecken bleiben.
help("=")
undand help("==")
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hängt vom Kontext ab, was
=
bedeutet.==
ist immer für die Prüfung der Geschlechter.=
werden kannin den meisten Fällen als ein drop-in-Ersatz für
<-
, der Zuweisungsoperator.verwendet als Trennzeichen für Schlüssel-Wert-Paare verwendet, um Werte zuzuweisen Argumente in Funktionsaufrufen.
Da 2. oben
=
können nicht verwendet werden, die als drop-in Ersatz für<-
in allen Situationen. BetrachtenJetzt einige denken würden
rnorm(N <- 10, mean = 5, sd = 2)
schlechten Programmierung, aber es ist gültig und Sie müssen sich bewusst sein, die Unterschiede zwischen=
und<-
für die Zuweisung.==
wird immer für Gleichheit zu testen:Vorsichtig sein, mit
==
jedoch auch, wie es wirklich heißt genau gleich und auf einem computer, auf dem floating-point-Operationen beteiligt sind, die Sie nicht bekommen kann die Antwort, die Sie erwartet hatten. Zum Beispiel, aus?'=='
:wo
all.equal()
tests für die Gleichstellung, so dass für ein wenig Unschärfe durch den Verlust von Genauigkeit/floating-point-Operationen.=
ist im Grunde ein synonym für Zuweisung (<-
), aber die meisten Häufig verwendet, wenn die übergabe von Werten an Funktionen.==
ist ein test für die GleichheitIn den einfachsten Bedingungen, nehmen Sie diese zwei Zeilen code zum Beispiel:
1) x = 10
2) x == 10
Die erste Zeile (x = 10) bedeutet "ich bin der, der befiehlt, dass x gleich 10 ist."
Die zweite Zeile (x == 10) bedeutet: "ich bin die Frage zu stellen, ist x gleich 10?"
Wenn Sie schreiben "x == 10" Erstens, es wird Ihnen eine Fehlermeldung angezeigt und Ihnen sagen, dass x nicht gefunden werden.
Wenn Sie schreiben "x = 10,", "store") x als 10.
Nachdem Sie Sie geschrieben haben "x = 10", wenn Sie dann schreiben "x == 10," Antworten "WAHR", wie in "ja, x gleich 10, weil du x gleich 10 ist." Aber wenn Sie schreiben "x == 11" oder "x == 12" oder x == nichts außer 10, dann wird es reagieren, dass "FALSCH", wie in "Nein, x ist nicht gleich 11 oder 12 oder etwas anderes als 10, weil du x gleich 10 ist."
Beispiel:
Ich hoffe das hilft.