面试题答案
一键面试enum Value {
Int(i32),
Float(f64),
StringVal(String),
Func(fn(i32) -> i32),
}
fn process_values(values: Vec<Value>) -> Vec<i32> {
let mut result = Vec::new();
for value in values {
match value {
Value::Int(i) => result.push(i * 2),
Value::Float(f) => result.push((f * f) as i32),
Value::StringVal(s) => result.push(s.len() as i32),
Value::Func(func) => result.push(func(5)),
}
}
result
}