unless (place =~ /^\./) == 0
我知道除非它像if not
,但条件是什么?
答案 0 :(得分:12)
=~
表示匹配正则表达式
/^\./
是正则表达式:
/.../
是正则表达式的分隔符
^
匹配字符串或行的开头(\A
仅匹配字符串的开头)
\.
匹配文字。
答案 1 :(得分:9)
检查字符串place
是否以句点.
开头。
考虑一下:
p ('.foo' =~ /^\./) == 0 # => true
p ('foo' =~ /^\./) == 0 # => false
在这种情况下,没有必要使用== 0
。 place =~ /^\./
足以满足条件:
p '.foo' =~ /^\./ # => 0 # 0 evaluates to true in Ruby conditions
p 'foo' =~ /^\./ # => nil
编辑:/^\./
是正则表达式。开始和结束斜杠表示是正则表达式,将重要位留给^\.
。第一个字符^
标记“字符串/行的开头”,\.
是文字字符.
,因为点字符通常被视为特殊字符在正则表达式中。
要详细了解正则表达式,请参阅Wikipedia或优秀的regular-expressions.info网站。