使用 text_io (真心覺得這個很好用,可不只用在字串
在 Cargo.toml 的 [dependencies] 下方加上
text_io = "0.1.6"
main.rs的最上方記得加上
#[macro_use] extern crate text_io;
再來就可以用類似 C 的方式輸入
let s: String; scan!("{}\n", s);
String走訪 [遊樂場] [參考]
有兩種:加上.enumerate()會同時有一個 i 當作 index 使用
for (i, c) in "hello".chars().enumerate() { println!("{}: {}", i, c) } for c in "hello".chars() { println!("{}~~", c) }
String轉成&str [遊樂場] [參考]
let s1 = String::from("hello"); // String let s2 = &s1[..]; // &str
&str轉成String [遊樂場]
let s1 = "hello"; // &str let s2 = String::from(s1); // String
String轉成數字 [遊樂場]
let s = String::from("87"); let a = s.parse::<i32>().unwrap();
部分String轉成數字 [遊樂場]
let s = String::from("878787"); let a = s[2..4].parse::<i32>().unwrap();
數字轉成String [遊樂場]
let a = 87; let s = a.to_string();
String取得第n個char [遊樂場] [參考]
let s = String::from("hello"); let c = s.chars().nth(1).unwrap();
String反轉 [遊樂場] [參考]
在做 8-bit 加減法器時因為每一 bit 處理完後是用 push_str() 到一個 String 的後方
所以 8 個都完成後需要反轉
let s = String::from("你好~ OuO"); let r1: String = s.chars().rev().collect(); let r2 = s.chars().rev().collect::<string>();
參考資料:
How do you iterate over a string by character
How to convert String into &'static str
Getting a single character out of a string
沒有留言:
張貼留言