У меня есть String
, и я хочу сделать новый String
, с каждым удвоенным символом в первом. Так что "abc"
станет "aabbcc"
и т. Д.
Лучшее, что я придумал, это:
let mut result = String::new();
for c in original_string.chars() {
result.push(c);
result.push(c);
}
result
Это отлично работает. но есть ли более лаконичный (или более идиоматический) способ сделать это?
В JavaScript я, вероятно, написал бы что-то вроде:
original.split('').map(c => c+c).join('')
Или в Ruby:
(original.chars.map { |c| c+c }).join('')
Поскольку в Rust также есть функциональные элементы, мне было интересно, есть ли такое же краткое решение.