[英]How can I concatenate two `&str` type elements of Rust Vector and add to Zero Index
[英]How can I clone a vector of str and create a new list as lowercase in rust?
我對 Rust 中的代碼有疑問
我有一個 &str 的向量,我想創建另一個但所有值都是小寫的。
在 javascript 中,如下所示:
const list = ['Por que algo?', 'Por que outra coisa?'];
const newList = list.map(item => item.toLowerCase());
我正在嘗試在 rust 中進行此操作,但我不能
let list: Vec<&str> = vec!["Por que o Freeza matou o Kuririn?", "Por que o Goku ficou nervoso"];
let list_lower_case: Vec<&str> = list.to_vec().iter().map(|i| i.to_lowercase()).collect();
list_lower_case 轉換為&&str
,但我只需要&str
我該怎么做才能解決這個問題?
這與我在運行它時遇到的錯誤不同。 我認為問題在於to_lowercase
方法實際上分配了一個帶有新大小寫的新字符串。 因此,您無法保留對它的引用,因為它將在map
之后刪除。 如果您通過將&str
更改為String
來允許 vec 取得所有權,它就可以工作:
fn main() {
let list: Vec<&str> = vec!["Por que o Freeza matou o Kuririn?", "Por que o Goku ficou nervoso"];
let list_lower_case: Vec<String> = list.iter().map(|i| i.to_lowercase()).collect();
}
(我還刪除了多余的to_vec
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.