Skip to main content

downcast_integer_array

Macro downcast_integer_array 

Source
macro_rules! downcast_integer_array {
    ($values:ident => $e:expr, $($p:pat => $fallback:expr $(,)*)*) => { ... };
    (($($values:ident),+) => $e:expr, $($p:pat => $fallback:expr $(,)*)*) => { ... };
    ($($values:ident),+ => $e:block $($p:pat => $fallback:expr $(,)*)*) => { ... };
    (($($values:ident),+) => $e:block $($p:pat => $fallback:expr $(,)*)*) => { ... };
}
Expand description

Given one or more expressions evaluating to an integer PrimitiveArray invokes the provided macro with the corresponding array, along with match statements for any non integer array types


fn print_integer(array: &dyn Array) {
    downcast_integer_array!(
        array => {
            for v in array {
                println!("{:?}", v);
            }
        }
        DataType::Utf8 => {
            for v in as_string_array(array) {
                println!("{:?}", v);
            }
        }
        t => println!("Unsupported datatype {}", t)
    )
}