0
我不明白爲什麼我們使用to_enum使掃描方法返回一個匹配數組本身時,字符串可枚舉,在這種情況下要做什麼to_enum?to_enum(:scan)vs單獨掃描ruby中的正則表達式
這是to_enum代碼:
string = "The quick 12 brown foxes jumped over the 10 lazy dogs"
p string.to_enum(:scan, /\d+/).map {Regexp.last_match }
其返回:
=> [#<MatchData "12">, #<MatchData "10">]
那麼爲什麼我們這裏使用的to_enum使字符串枚舉時,我們可以使用掃描它會返回一個數組?
我也單獨使用掃描卻得到怪異的結果嘗試:
p string.scan(/\d+/).map { Regexp.last_match}
=>[#<MatchData "10">, #<MatchData "10">]
也有一些是我失蹤,這裏不理解...誰能解釋一下嗎?
感謝
好的,但我仍然不明白爲什麼當我們直接調用掃描字符串變量時,我們得到了相同的值,而不是使用to_enum相同的結果! –