macro_rules! x_range_x {
    () => { ... };
    ($a:expr $(,)*) => { ... };
    ($a:expr, $b:expr $(,)*) => { ... };
    ($a:expr, $b:expr, $c:expr $(,)*) => { ... };
    ($a:expr, $b:expr, $c:expr, $($rest:tt)*) => { ... };
}
Expand description

Based on x_range_x()

Examples:

#[macro_use] extern crate serde_json_lodash;
use serde_json::json;
assert_eq!(
  x_range_x!(4),
  vec![0_isize, 1, 2, 3]
);
assert_eq!(
  x_range_x!(-4),
  vec![0_isize, -1, -2, -3]
);
assert_eq!(
  x_range_x!(1, 5),
  vec![1_isize, 2, 3, 4]
);
assert_eq!(
  x_range_x!(0, 20, 5),
  vec![0_isize, 5, 10, 15]
);
assert_eq!(
  x_range_x!(0, -4, -1),
  vec![0_isize, -1, -2, -3]
);
assert_eq!(
  x_range_x!(1, 4, 0),
  vec![1_isize, 1, 1]
);
let expect: Vec<isize> = vec![];
assert_eq!(
  x_range_x!(0),
  expect
);

More examples:

let expect: Vec<isize> = vec![];
assert_eq!(x_range_x!(), expect);