From 851617e986c5a588329a27e73f0b6e1b0b52f63b Mon Sep 17 00:00:00 2001 From: pmeinhardt Date: Fri, 24 May 2024 15:00:53 +0200 Subject: [PATCH] =?UTF-8?q?Use=20fold=20to=20replace=20all=20placeholders?= =?UTF-8?q?=20in=20template=20=F0=9F=AA=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 279d8d8..efdbeef 100644 --- a/src/main.rs +++ b/src/main.rs @@ -60,14 +60,12 @@ fn convert(input: &str, dangerous: bool) -> Result { } fn render(template: &str, values: &HashMap<&str, &str>) -> String { - let mut result = String::from(template); - - for (key, value) in values { - let pattern = format!("{{{{ {key} }}}}"); - result = result.replace(&pattern, value) - } - - result + return values + .iter() + .fold(String::from(template), |result, (key, value)| { + let pattern = format!("{{{{ {key} }}}}"); + result.replace(&pattern, value) + }); } fn main() -> Result<()> {