pub trait Joinable: Sized {
type Collection;
fn join_with<S>(self, sep: S) -> Join<Self::Collection, S>;
fn join_concat(self) -> Join<Self::Collection, NoSeparator> { ... }
}
Expand description
Required Associated Types
source
type Collection
Required Methods
sourcefn join_with<S>(self, sep: S) -> Join<Self::Collection, S>
fn join_with<S>(self, sep: S) -> Join<Self::Collection, S>
Combine this object with a separator to create a new Join
instance.
Note that the separator does not have to share the same type as the
iterator’s values.
Examples
use joinery::Joinable;
let parts = vec!["this", "is", "a", "sentence"];
let join = parts.join_with(' ');
assert_eq!(join.to_string(), "this is a sentence");
Provided Methods
sourcefn join_concat(self) -> Join<Self::Collection, NoSeparator>
fn join_concat(self) -> Join<Self::Collection, NoSeparator>
Join this object with an empty separator. When rendered
with Display
, the underlying elements will be directly concatenated.
Note that the separator, while empty, is still present, and will show
up if you iterate this instance.
Examples
use joinery::Joinable;
let parts = vec!['a', 'b', 'c', 'd', 'e'];
let join = parts.join_concat();
assert_eq!(join.to_string(), "abcde");