unless (place =~ /^\./) == 0
So che a meno che sia come if not
ma per quanto riguarda il condtional?cosa fa questo rubino?
unless (place =~ /^\./) == 0
So che a meno che sia come if not
ma per quanto riguarda il condtional?cosa fa questo rubino?
Controlla se la stringa place
inizia con un periodo .
.
Considerate questo:
p ('.foo' =~ /^\./) == 0 # => true
p ('foo' =~ /^\./) == 0 # => false
In questo caso, non sarebbe necessario usare == 0
. place =~ /^\./
basterebbe come condizione:
p '.foo' =~ /^\./ # => 0 # 0 evaluates to true in Ruby conditions
p 'foo' =~ /^\./ # => nil
EDIT: /^\./
è un'espressione regolare. Le barre iniziali e finali indicano che è è un'espressione regolare, lasciando il bit importante a ^\.
. Il primo carattere, ^
contrassegna "inizio stringa/riga" e \.
è il letterale carattere .
, poiché il carattere punto è normalmente considerato un carattere speciale nelle espressioni regolari.
Per ulteriori informazioni sulle espressioni regolari, vedere Wikipedia o l'eccellente sito Web regular-expressions.info.
=~
significa corrisponde all'espressione regolare
/^\./
è un'espressione regolare:
/.../
sono i delimitatori per l'espressione regolare
^
corrisponde all'inizio della stringa o di una linea (\A
corrisponde l'inizio solo la stringa)
\.
corrisponde a un valore letterale.
Come funziona ... cosa significa = ~ /^\./ mean – Trace
http://perldoc.perl.org/perlre.html – SilverbackNet
'= ~' è per la corrispondenza delle espressioni regolari .... '^'significa inizio della stringa ... e' \ .' è per il punto (che è un carattere speciale, quindi deve essere sfuggito) .... l'espressione è racchiusa tra '/ /' –
st0le