operator - ruby ||=
operador de ruby "= ~" (3)
Esta pregunta ya tiene una respuesta aquí:
- ¿Cuál es el operador "= ~" en Ruby? 7 respuestas
En ruby, leí algunos de los operadores, pero no pude encontrar =~
. ¿Qué es =~
para, o qué significa? El programa que vi tiene
regexs = (//d+/)
a = somestring
if a =~ regexs
Creo que estaba comparando si somestring
igual a dígitos pero, ¿hay algún otro uso, y cuál es la definición correcta del operador =~
?
= ~ es un operador para hacer coincidir expresiones regulares, que devolverá el índice del inicio de la partida (o nulo si no hay coincidencia).
Vea here para la documentación.
El operador =~
coincidir la expresión regular con una cadena, y devuelve el desplazamiento de la coincidencia de la cadena si se encuentra, de lo contrario nil.
/mi/ =~ "hi mike" # => 3
"hi mike" =~ /mi/ # => 3
"mike" =~ /ruby/ # => nil
Puede colocar la cadena / expresión regular a cada lado del operador como puede ver arriba.
Este operador compara cadenas con expresiones regulares.
s = ''how now brown cow''
s =~ /cow/ # => 14
s =~ /now/ # => 4
s =~ /cat/ # => nil
Si el String coincide con la expresión, el operador devuelve el desplazamiento, y si no lo hace, devuelve nil. Es un poco más complicado que eso: vea la documentación aquí; es un método en la clase String.