我一直在試圖找到一種簡單的方法來讀取Rust中的變量,但迄今爲止還沒有任何運氣。 Rust書中的所有例子都處理字符串AFAIK,但是我找不到任何關於可以工作的整數或浮點數的東西。從輸入中讀取一個整數並將其分配給一個變量
回答
我沒有這個機器上的鏽編譯器,但部分基於this answer來接近,你希望是這樣......
let user_val = match input_string.parse::<i32>() {
Ok(x) => x,
Err(_) => -1,
};
或者,如在評論中指出,
let user_val = input_string.parse::<i32>().unwrap_or(-1);
...雖然你選擇在整數尺寸和默認值可能明顯是不同的,你並不總是需要一個類型修飾符(::<i32>
)爲parse()其中類型可以從分配中推斷出來。
您不需要爲這樣的事情安裝編譯器 - [Rust圍欄](https://play.rust-lang.org/)你覆蓋。 – Shepmaster
在這裏使用['unwrap_or'](http://doc.rust-lang.org/std/result/enum.Result.html#method.unwrap_or)會更習慣用法:'input_string.parse ::
@Shepmaster,非常有趣,謝謝! 'unwrap_or'對我來說似乎不那麼習慣,但如果社區搖擺不定,這對我來說就很有用。 –
要閱讀用戶輸入,你總是讀一組字節。有時,您可以將這些字節解釋爲UTF-8字符串。然後,您可以進一步將字符串解釋爲整數或浮點數(或許多其他事物,如IP地址)。
下面是讀取輸入的一行,並解析它作爲一個32位有符號整數一個完整的例子:
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let input_num: i32 = input.trim().parse().unwrap();
println!("Your number plus one is {}", input_num + 1);
}
注意,沒有人性化的錯誤處理正在發生。如果讀取輸入或解析失敗,程序會驚慌失措。運行該程序產生:
$ ./input
41
Your number plus one is 42
- 1. 從文件中讀取每一行輸入並分配給一個變量
- 2. Python 2.7 - 從表中提取信息並將其分配給一個變量
- 3. 如何輸入號碼清單,並將其分配給一個變量
- 4. grep的特定值,並將其分配給一個變量
- 5. 在C++中讀取輸入並分配給不同的變量
- 6. 讀取數據並分配給變量
- 7. 將字符串和一個整數,並將其分配給一個新的列
- 8. 在NASM中讀取輸入並將其全部存儲到一個變量中
- 9. 如何將一個JQuery變量值分配給Laravel Blade輸入
- 10. 我們如何將輸入類型分配給一個變量
- 11. 如何從一個查詢中獲取值,並將其分配給另一個
- 12. 流星 - 將一個mongodb查詢分配給一個變量並將其插入另一個集合
- 13. shell腳本 - 將一個變量分配給另一個變量
- 14. Ionic2從Http請求中返回一個值並將其分配給變量
- 15. 獲取JSON值,並將其分配到一個變量
- 16. Scala,如何讀取一行中的多個整數並將它們分別放入一個變量中?
- 17. 將一個異步函數及其回調函數分配給一個變量
- 18. 將命令分配給一個變量
- 19. 從列表中提取項目,並將其分配給變量
- 20. 如何將一個對象函數分配給一個變量?
- 21. Jmeter:從csv讀取變量並將其傳遞到另一個變量中
- 22. 如何取我的隨機字符串並將其分配給一個變量?
- 23. 如何分割一個字符串並將其分配給Golang中的變量?
- 24. SCHEME - 如何編寫一個從文本文件讀取值並將其分配給變量的循環
- 25. 從char變量中獲取數字字符串並將其重新賦值給一個整型變量
- 26. 從一個數據幀讀取行並將其寫入另一個列中
- 27. 獲取數據從分配給一個變量
- 28. 如何獲取ResultSet的整數值並將其賦值給一個int變量?
- 29. Java,從字符串中取一個數字,並將它分配給一個單獨的變量 - Java
- 30. 分配一個命令輸出給一個變量(bash)的
[The Rust Programming Language,chapter 3.1 - Guessing game](http://doc.rust-lang.org/stable/book/guessing-game.html):* The'對字符串的parse()方法將字符串解析爲某種數字* – Shepmaster