在Ruby中,我看到了很多的代碼做喜歡的東西:布爾檢查一個字符串是否與ruby中的正則表達式匹配?
def test(s)
s =~ /Macintosh/
end
測試一個串是否正則表達式匹配。但是,這將返回fixnum或nil,具體取決於它是否找到匹配項。有沒有辦法做同樣的操作,但讓它返回一個布爾值來判斷它是否匹配?
我想到的兩種可能的解決方案是!(s =~ /Macintosh/).nil?
和!(s !~ /Macintosh/)
,但這兩種解決方案都不太可讀。有什麼樣:
def test(s)
s.matches?(/Macintosh/)
end
'!!(string =〜/ some some regex /)'? – rathrio
@rathrio將檢查,然後檢查爲零,我問是否有一個布爾方法,將返回true或false。 – kddeisz
只是出於興趣:是否有一個特定的原因,你爲什麼要布爾?在大多數情況下,返回nil或非零值都可以正常工作,對嗎? – rathrio