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相同的结果! –