flowcode_core/
util.rs

1// flowcode-core/src/util.rs
2
3use crate::error::FCError;
4
5/// Parses a vector of string arguments into a vector of f64 numbers.
6/// Returns a Result with the vector of numbers or an error message string.
7pub fn parse_numbers(args: &[String]) -> Result<Vec<f64>, FCError> {
8    let mut numbers = Vec::new();
9    if args.is_empty() {
10        return Err(FCError::InsufficientData("No numbers provided".to_string()));
11    }
12
13    for arg in args {
14        match arg.parse::<f64>() {
15            Ok(num) => numbers.push(num),
16            Err(_) => {
17                return Err(FCError::ParseError(format!("Invalid number format: {}", arg)));
18            }
19        }
20    }
21    Ok(numbers)
22}