From a352c88b8f66e5c13bc2fbb829cb173d0d2a45e6 Mon Sep 17 00:00:00 2001 From: Azalea Colburn Date: Fri, 14 Mar 2025 19:27:25 -0700 Subject: [PATCH] Refactor format_keywords function --- src/cmd/query.rs | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/cmd/query.rs b/src/cmd/query.rs index bff6f72..a711146 100644 --- a/src/cmd/query.rs +++ b/src/cmd/query.rs @@ -126,18 +126,14 @@ impl Query { /// ## WARNING /// Clones `self.keywords` fn format_keywords(&self) -> String { - if self.keywords.is_empty() { - return String::new(); + let mut keywords = self.keywords.clone(); + match keywords.pop() { + None => String::new(), + Some(last) => { + let head = keywords.join("', '"); + + format!("'{}', and '{}'", head, last) + } } - - let result = self - .keywords - .iter() - .take(self.keywords.len() - 1) - .map(|s| s.to_string()) - .collect::>() - .join("', '"); - - format!("'{}', and '{}'", result, self.keywords.last().unwrap()) } }