[−][src]Function dqcsim::common::util::friendly_enumerate
pub fn friendly_enumerate(
items: impl Iterator<Item = impl Into<String>>,
conjunction: Option<&str>
) -> String
Turns a string list into its natural language equivalent.
The optional conjunction is placed between the final comma and final
string, if specified. An empty list returns "nothing"
.
Examples
use dqcsim::common::util::friendly_enumerate; assert_eq!( friendly_enumerate(vec!["a", "b", "c"].into_iter(), Some("or")), "a, b, or c" ); assert_eq!( friendly_enumerate(vec!["x", "y"].into_iter(), Some("and")), "x and y" ); assert_eq!( friendly_enumerate(vec!["x", "y"].into_iter(), None), "x, y" ); assert_eq!( friendly_enumerate(vec!["foo", "bar", "baz"].into_iter(), None), "foo, bar, baz" ); assert_eq!( friendly_enumerate(vec!["one"].into_iter(), Some("and")), "one" ); assert_eq!( friendly_enumerate(vec!["one"].into_iter(), None), "one" ); let empty: Vec<String> = vec![]; assert_eq!( friendly_enumerate(empty.into_iter(), None), "<nothing>" );