2014-02-19 31 views

回答

5

方法!~=~的倒數,即!(=~)。從Ruby Object#!~ documentation

如果兩個對象不匹配(使用=〜方法),則[obj!〜other]返回true,否則返回false。

所以,既然String#=~執行串/正則表達式匹配,如果匹配,並且nil否則,如果匹配String#!~返回falsetrue否則返回第一匹配的索引。

+2

技術上'=〜'返回一個指向該模式的第一個出現的字符串的索引,作爲'Fixnum'是truthy,否則返回nil'(當然這是假的)。 – olleicua

+0

@olleicua你是對的,我沒有想過,謝謝 – mdesantis

+0

不要感謝我,謝謝撬。 – olleicua

1

任何文件,這意味着正則表達式不匹配。這是這裏也提到=~

逆:Does Ruby regular expression have a not match operator like "!~" in Perl?

顯然它不記錄的某些原因。

+0

這並不明顯,你只是沒有找到正確的地方。 –

+0

@theTinMan - 這樣可以降低正確答案的優點嗎?如果你真的看過我包含的鏈接,你會看到其他人做出了合理的假設,即這樣的函數將以字符串或正則表達式形式記錄。 – ChicagoRedSox

相關問題