fn select(vm: &mut VM, self_val: Value, args: &Args2) -> VMResult {
    let hash = self_val.as_hash().unwrap();
    let method = args.expect_block()?;
    let mut res = FxIndexMap::default();
    for (k, v) in hash.iter() {
        if vm.eval_block2(&method, k, v)?.to_bool() {
            res.insert(HashKey(k), v);
        };
    }

    Ok(Value::hash_from_map(res))
}
Enumerable#filter { |item| .. } -> [object]
Enumerable#find_all { |item| .. } -> [object]
Enumerable#select { |item| .. } -> [object]
https://docs.ruby-lang.org/ja/latest/method/Enumerable/i/select.html
ruruby/src/builtin/hash.rs