rails operadores operador logicos logico comparacion ruby operators

logicos - operadores logico ruby



¿Qué es el operador “= ~” en Ruby? (7)

Bueno, la referencia es correcta, es el operador "coincide con esta expresión regular".

if var =~ /myregex/ then something end

Vi esto en un screencast y no pude averiguar qué era. Las hojas de referencia simplemente lo acumulan con otros operadores como un operador de coincidencia de patrón general.



Coincidencia de cadenas de expresiones regulares:

se pone verdadero si url = ~ /google.com/

Puedes leer ''= ~'' ya que ''es coincidente''.


Como ya se ha indicado en las otras respuestas, =~ es el operador de coincidencia de expresión regular vs cadena.

Nota: El operador =~ no es conmutativo

Considere la siguiente nota del sitio de ruby ​​doc , ya que he visto todavía el primer formulario.

str =~ regexp

utilizado en las otras respuestas:

Nota: str =~ regexp no es lo mismo que regexp =~ str . Las cadenas capturadas de los grupos de captura nombrados se asignan a las variables locales solo en el segundo caso.

Aquí está la documentación para el segundo formulario: link


Creo que este es un operador de coincidencia de patrones utilizado con expresiones regulares.


De ruby-doc :

str =~ obj => fixnum or nil

Coincidencia: si obj es una expresión regular, utilícela como un patrón para hacer coincidir contra str, y devuelve la posición de compensación en que comienza la coincidencia, o nula si no hay coincidencia. De lo contrario, invoca obj. = ~, Pasando str como un argumento. El valor predeterminado = ~ en Objeto devuelve falso.

"cat o'' 9 tails" =~ //d/ #=> 7 "cat o'' 9 tails" =~ 9 #=> false


Hace coincidir la cadena con una expresión regular.

''hello'' =~ /^h/ # => 0

Si no hay coincidencia, devolverá nil . Si le pasa argumentos no válidos (es decir, los lados izquierdo o derecho no son correctos), lanzará un TypeError o devolverá false .