2017-06-21 4 views
6

Von der documentation Ich verstehe, wie =~ Operator funktioniert, Regex zu entsprechen, aber ich verstehe nicht die allgemeine Verwendung dieses Operators.Was ist = ~ Operator in Elixier

Zum Beispiel, was bedeutet "foo" =~ "foo"? Wie unterscheidet es sich von "foo" == "foo"?

+0

= ~ validiert gegen eine Regex, == validiert für eine exakte Übereinstimmung. Die Verwendung dieses Operators ist offensichtlich, Sie verwenden ihn, um eine Zeichenkette gegen eine Regex zu validieren. – JustMichael

+0

'" foo "= ~ ~/r/foo /' validiert gegen eine Regex, was ich nicht verstehe, ist was "foo" = ~ "foo" '. Entschuldigung, wenn die Frage nicht sehr klar ist. – noscreenname

Antwort

10

Es ist nicht auf dieser Seite dokumentiert, aber es dokumentiert ist in Kernel.=~/2 dass, wenn die RHS ist eine Zeichenfolge, =~ überprüft, ob LHS RHS enthält:

:

iex(1)> "foo" =~ "f" 
true 
iex(2)> "foo" =~ "o" 
true 

Es RHS zu regex nicht implizit konvertieren

iex(3)> "foo" =~ "." 
false 
+0

Ich habe nicht gesehen, dass es eine vollständigere Dokumentation gab, danke. – noscreenname