1#[macro_export]
2macro_rules! format_list_container {
3 ($e:expr, $start:tt, $end:tt) => {{
4 use std::fmt::Write;
5 let mut out = String::new();
6 out.push($start);
7 let mut iter = $e.into_iter();
8 let mut next = iter.next();
9
10 loop {
11 if let Some(val) = next {
12 write!(out, "{val}").unwrap();
13 };
14 next = iter.next();
15 if next.is_some() {
16 out.push_str(", ")
17 } else {
18 break;
19 }
20 }
21 out.push($end);
22 out
23 };};
24}
25
26#[macro_export]
27macro_rules! format_list {
28 ($e:expr) => {{
29 use polars_utils::format_list_container;
30 format_list_container!($e, '[', ']')
31 };};
32}
33
34#[macro_export]
35macro_rules! format_tuple {
36 ($e:expr) => {{
37 use polars_utils::format_list_container;
38 format_list_container!($e, '(', ')')
39 };};
40}