Я видел это на скринкасте и не мог выяснить, каково это было. Таблицы ссылок просто заваливают его в другими операторами как общий оператор соответствия шаблона.
Сопоставляет строку с регулярным выражением.
'hello' = ~ / ^ h / # => 0
Если совпадений нет, возвращается nil
. Если вы передадите ему недопустимые аргументы (т. Е. Левая или правая части неверны), он либо выдаст TypeError
, либо вернет false
.
Ну, ссылка правильная, это оператор "matches this regex".
if var =~ /myregex/ then something end
Из ruby-doc :
str =~ obj => fixnum или nil
Match-If obj is a Regexp, использует его как шаблон для сравнения с str, и возвращает позицию смещения, с которой начинается совпадение, или nil, если совпадения нет. В противном случае вызывается obj.=~, передавая str в качестве аргумента. По умолчанию =~ в Object возвращает false.
"cat o' 9 tails" =~ /\d/ #=> 7
"cat o' 9 tails" =~ 9 #=> false
Я полагаю, что это оператор сопоставления шаблонов, используемый в regex.
Сопоставление строк регулярного выражения. Вот подробный список операторов: http://phrogz.net/programmingruby/tut_expressions.html#table_7.1
Согласование строк регулярного выражения:
ставит true, если url =~ /google.com/
Вы можете прочитать '=~' как 'соответствует'.