2015-09-02 13 views

Antwort

17

Ein Beispiel bedeuten, dass in den Sinn kommt Schwimmern ist -, die die gleiche verwenden Vergleichsfunktionen als Strings:

iex> 1 == 1 #true 
iex> 1 == 1.0 #true 
iex> 1 === 1 #true 
iex> 1 === 1.0 #false 

Und für ==

iex> 1 != 2 #true 
iex> 1 != 1.0 #false 
iex> 1 !== 2 #true 
iex> 1 !== 1.0 #true 

Es ist erwähnenswert, dass diese Funktionen unter Hinweis darauf, Verwenden Sie die folgenden Erlang Ausdrücke:

Elixir | Erlang 
==  | == 
=== | =:= 
!=  | /= 
!== | =/= 

Vom Erlang documentation:

Wenn eine ganze Zahl mit einem Schwimmer zu vergleichen, der Begriff mit der geringeren Präzision in den Typ des anderen Begriff umgewandelt wird, es sei denn, der Betreiber ist einer von =: = oder =/=. Ein Float ist genauer als eine ganze Zahl, bis alle signifikanten Zahlen des Floats links vom Dezimalpunkt liegen. Dies geschieht, wenn der Schwimmer größer/kleiner als +/- 9007199254740992.0 ist. Die Konvertierungsstrategie wird abhängig von der Größe der Gleitkommazahl geändert, da andernfalls der Vergleich von großen Gleitkommazahlen und Ganzzahlen ihre Transitivität verlieren würde.

+13

Ja, '==' und '===' beeinflussen nur den Vergleich zwischen Zahlen. –

Verwandte Themen