Rust 语言 计算器实现 基本四则运算的命令行工具

Rust阿木 发布于 1 天前 4 次阅读


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 语言在系统编程和命令行工具开发中的强大能力。

这个计算器还有很多可以改进的地方,例如:

- 支持更复杂的表达式,如括号。
- 添加错误处理和用户输入验证。
- 支持更多的运算符和函数。

通过不断迭代和优化,我们可以将这个简单的计算器扩展成一个功能更加强大的工具。