馬上攔截錯誤
如果設置文件遺失或損壞了呢?如果環境變數的內容有空的怎麼辦?這些狀況都很容易忘記!但有了錯誤處理與函式庫的設計,Rust 會在您運行您的程式之前就指出這些「假設」的情境。
Rust 的錯誤處理如果設置文件遺失或損壞了呢?如果環境變數的內容有空的怎麼辦?這些狀況都很容易忘記!但有了錯誤處理與函式庫的設計,Rust 會在您運行您的程式之前就指出這些「假設」的情境。
Rust 的錯誤處理Rust 讓你能靈活地組織程式碼。從單一檔案開始,到當您需要更多功能而重構程式碼時,您都能確保不會破壞任何內容。
重構 Rust編寫命令列應用程式是個學習 Rust 的好方法
use clap::Parser;
/// Read some lines of a file
#[derive(Debug, Parser)]
struct Cli {
/// Input file to read
file: String,
/// Number of lines to read
#[structopt(short = 'n')]
num: usize,
}
use std::{error::Error, fs::read_to_string};
fn main() -> Result<(), Box> {
let args = Cli::parse();
read_to_string(&args.file)?
.lines()
.take(args.num)
.for_each(|line| println!("{}", line));
Ok(())
}
我們喜歡 Rust 的原因之一是因為 crates.io 的生態系統。[...] 目前已經有很多非常棒的現有架構能來建構出漂亮的命令列介面。
– Armin Ronacher, 《Rust 在 Sentry 中的應用》 – PolyConf 2017
我從沒後悔有這些函式庫。[…] 使用 Rust 製作 CLI 或是控制台的工具帶給我很大的好處,它非常善於針對不同目標系統進行編譯。
– Fletcher Nichol, 《把 Rust 帶進正式環境》 – RustFest Kyiv