fn each_with_index(vm: &mut VM, self_val: Value, args: &Args2) -> VMResult {
    args.check_args_num(0)?;
    let method = to_enum_str!(vm, self_val, args, "each_with_index");
    let aref = self_val.into_array();
    let mut i = 0;
    while i < aref.len() {
        vm.eval_block2(method, aref[i], Value::integer(i as i64))?;
        i += 1;
    }
    Ok(self_val)
}
## instance method Enumerable#each_with_index
- each_with_index(*args) -> Enumerator
- each_with_index(*args) {|item, index| ... } -> self

https://docs.ruby-lang.org/ja/latest/method/Enumerable/i/each_with_index.html
ruruby/src/builtin/array.rs