Rust 切片join概述 - 在每個值中間插值
join,可以在兩個切片中插值
我覺得是一個做題目,或者資料夾操作的時候比較常用到的方法
特別是題目真的不少
後面會舉個例子
join
join被歸類在slice下
文件[1]這樣寫
在每個值中間給定指定符號
self為切片本身
sep為分隔符號
回傳一個字串String
例子
舉個簡單的例子
假設有一個數組分別為["Hello", "world", "Rust"]
可以透過join將其組合成一個數組
成功顯示 Hello world Rust
而join也可以連接數組
可以將1, 2, 3連接成數組1, 0, 2, 0, 3
也可以連接成字串1, 2, 3
創立一個數組1, 2, 3
透過into_iter[2]丟入迭代器
使用map[3],將每個元素轉成字串
透過collect,將字串值存成數組,也就是成先["1".to_string(), "2".to_string(), "3".to_string()]
最後再透過join連結每個字串
實際例子
我個人覺得
CodeWar的題目真的很多會用到join
如果不太會用join有些題目會蠻麻煩的
我舉一題當作範例[4]
這題是7kyu
不難,可以自己做做看
Complete the function that accepts a string parameter, and reverses each word in the string. All spaces in the string should be retained.
Examples
"This is an example!" ==> "sihT si na !elpmaxe"
"double spaces" ==> "elbuod secaps"
完成一個函數,反轉String中的單字,每個空白鍵要依然留著
可以用這個做測試
解題思路
預期取出每個單字
並對每個單字做反向才連接
先透過split(" ")對空白鍵分割,此時取得每個單字
之後放入數組
透過map將單字反向,使用閉包
將每個單字的字符放入迭代器中並做反向,最後蒐集成String
使用collect::<Vec<_>>將每個String放入數組
最後join以空格連接
參考資料
[1] https://doc.rust-lang.org/std/primitive.slice.html#method.join
[2] https://lageeblog.blogspot.com/2023/10/rust-map.html
[3] https://lageeblog.blogspot.com/2023/10/rust-map.html
0 comments:
張貼留言