ループの途中でループ数を増やす方法はあるか


Rubyでプログラミングしています．  
表題の通り，以下の`each`文のループ回数`num`を，`each`スコープ内で増やすことができますでしょうか．

ご教授宜しくお願いします．  
以下，サンプルプログラムです．

[code]

    num = 10
    NumList = []
    (0 ... num).each do |i|    
    
        if i == 5   # このifに入ったら大ループ数numを+1する
            NumList[-1] = 99
            #num += 1
        else
            NumList << i        
        end
    
    end
    
    p "NumList = #{NumList}"
    
[/code]

現出力 ："NumList = [0, 1, 2, 3, 99, 6, 7, 8, 9]"  
期待出力："NumList = [0, 1, 2, 3, 99, 6, 7, 8, 9, 10]"




普通に`while`で書いたらいいのではないでしょうか。

[code]

    num = 10
    NumList = []
    i = 0
    while i < num
      if i == 5 # このifに入ったら大ループ数numを+1する
        NumList[-1] = 99
        num += 1
      else
        NumList << i
      end
      i += 1
    end
    
    p "NumList = #{NumList}"
    
[/code]




普通に`while`で書いたらいいのではないでしょうか。

[code]

    num = 10
    NumList = []
    i = 0
    while i < num
      if i == 5 # このifに入ったら大ループ数numを+1する
        NumList[-1] = 99
        num += 1
      else
        NumList << i
      end
      i += 1
    end
    
    p "NumList = #{NumList}"
    
[/code]

