根据Ruby Hash/Array文档,delete_if如果没有给出块,该方法返回一个枚举器.这有用吗?有人能举例说明这种模式吗?
定义了一些方法Enumerator,为迭代器提供了灵活性.我经常使用的一种方法是with_index.
p %w[a b c d e f].delete_if.with_index{|_, i| i.even?}
# => ["b", "d", "f"]
Run Code Online (Sandbox Code Playgroud)
如果要在没有Enumerator课程的情况下完成,则必须定义各种方法,包括delete_if_with_index,这不是一件好事.