unless (place =~ /^\./) == 0
Lo sé a menos que sea como if not
pero ¿y el condtional?¿Qué hace este rubí?
unless (place =~ /^\./) == 0
Lo sé a menos que sea como if not
pero ¿y el condtional?¿Qué hace este rubí?
Comprueba si la cadena place
comienza con un período .
.
Considera:
p ('.foo' =~ /^\./) == 0 # => true
p ('foo' =~ /^\./) == 0 # => false
En este caso, no sería necesario utilizar == 0
. place =~ /^\./
bastaría como una condición:
p '.foo' =~ /^\./ # => 0 # 0 evaluates to true in Ruby conditions
p 'foo' =~ /^\./ # => nil
EDIT: /^\./
es una expresión regular. Las barras de inicio y final denotan que es una expresión regular, dejando el bit importante en ^\.
. El primer carácter, ^
marca "inicio de cadena/línea" y \.
es el literal carácter .
, ya que el carácter de punto normalmente se considera un carácter especial en las expresiones regulares.
Para leer más sobre expresiones regulares, vea Wikipedia o el excelente sitio web regular-expressions.info.
=~
significa coincidencias de expresiones regulares
/^\./
es una expresión regular:
/.../
son los delimitadores para la expresión regular
^
coincide con el principio de la cadena o de una línea (\A
coincide con el principio de solo la cadena)
\.
coincide con un literal.
¿Cómo se hace eso ... qué significa = ~ /^\./ mean – Trace
http://perldoc.perl.org/perlre.html – SilverbackNet
'= ~' es para la expresión regular que empareja .... '^'significa inicio de cadena ... y' \ .' es para el período (que es un carácter especial, por lo tanto tiene que ser escapado) .... la expresión está encerrada dentro de '/ /' –
st0le