Rust 语言实现基本四则运算命令行计算器
Rust 语言是一种系统编程语言,以其高性能、内存安全以及并发特性而受到广泛关注。本文将介绍如何使用 Rust 语言实现一个基本的命令行计算器工具,该工具能够执行加、减、乘、除四种基本四则运算。
环境准备
在开始编写代码之前,确保你已经安装了 Rust 编译器和 Cargo 包管理器。可以通过以下命令安装:
sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装完成后,打开终端,输入以下命令来验证安装:
sh
rustc --version
cargo --version
项目结构
创建一个新的 Rust 项目:
sh
cargo new rust_calculator
cd rust_calculator
项目结构如下:
rust_calculator/
├── Cargo.toml
├── src/
│ ├── main.rs
│ └── calculator.rs
设计思路
我们的计算器将遵循以下设计思路:
1. 解析用户输入的算术表达式。
2. 根据运算符进行相应的计算。
3. 输出计算结果。
代码实现
`calculator.rs`
rust
use std::io;
fn main() {
println!("Welcome to the Rust Calculator!");
let mut expression = String::new();
println!("Please enter an arithmetic expression (e.g., 2 + 2):");
io::stdin().read_line(&mut expression)
.expect("Failed to read line");
let result = calculate(&expression);
println!("The result is: {}", result);
}
fn calculate(expression: &str) -> f64 {
let tokens: Vec = expression.split_whitespace().collect();
let mut numbers: Vec = Vec::new();
for token in tokens {
if let Ok(num) = token.parse::() {
numbers.push(num);
} else if let Some(op) = get_operator(token) {
if numbers.len() Option f64> {
match token {
"+" => Some(|a, b| a + b),
"-" => Some(|a, b| a - b),
"" => Some(|a, b| a b),
"/" => Some(|a, b| a / b),
_ => None,
}
}
fn apply_operator(op: fn(f64, f64), a: f64, b: f64) -> f64 {
op(a, b)
}
`main.rs`
rust
mod calculator;
fn main() {
calculator::main();
}
运行程序
在终端中,运行以下命令来编译并运行程序:
sh
cargo run
当你输入一个算术表达式时,程序将计算并输出结果。
总结
本文介绍了如何使用 Rust 语言实现一个基本的命令行计算器。通过解析用户输入的算术表达式,并根据运算符进行相应的计算,我们成功地创建了一个简单的计算器工具。这个例子展示了 Rust 语言在系统编程和命令行工具开发中的强大能力。
这个计算器还有很多可以改进的地方,例如:
- 支持更复杂的表达式,如括号。
- 添加错误处理和用户输入验证。
- 支持更多的运算符和函数。
通过不断迭代和优化,我们可以将这个简单的计算器扩展成一个功能更加强大的工具。
Comments NOTHING