Macro downcast_integer_array
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)
)
}