Ruby是否提供任何机制允许迭代器对另一个迭代器的所有值进行yield? (或“subiterator”,我不确定确切名称是什么)。类似于Python3.3 +的yield from

def f
    yield 'a'
    yield 'b'
end

def g
   # yield everything from f
   yield 'c'
   yield 'd'
end

最佳答案

这可能是最惯用的方法:

def f
  yield 'a'
  yield 'b'
end

def g(&block)
  f(&block)
  yield 'c'
  yield 'd'
end

关于ruby - 从另一个迭代器产生所有值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17660666/

10-13 22:37