1 unstable release
0.1.3 | Feb 8, 2023 |
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#7 in #polish
10KB
105 lines
RPN-Reckoner
DATE: Feb. 8th, 2023
This package provides a Rust library and
an executable for doing Reverse Polish Notation (: RPN) calculations.
Library
This package's library allows for evaluating RPN expressions
by using the function rpn_reckoner::eval(expression: String) -> Result<f64, String>
.
This function takes an RPN expression as a string argument and returns a result,
either the evaluated value as a float or an error message as a string.
Installation
cargo add rpn_reckoner
Example1
extern crate rpn_reckoner;
fn main() {
let expression = String::from("3 2 +");
let solution = rpn_reckoner::eval(expression).unwrap();
println!("{}", solution); // -> 5
}
Example2
extern crate rpn_reckoner;
fn main() {
let expression = String::from("6 4 ! +");
let solution = rpn_reckoner::eval(expression).unwrap();
println!("{}", solution); // -> 30
}
Read-Eval-Print Loop (: REPL)
git clone https://github.com/Rei-Ashine/rpn-reckoner.git
To start the REPL for evaluating RPN expressions,
the command cargo run
should be run in the terminal.
Directory Structure
.
├── README.md
├── Cargo.toml
├── LICENSE
└── src
├── lib.rs
├── main.rs
├── operation.rs
└── test.rs
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
TOML 1 20 17 0 3
-------------------------------------------------------------------------------
Markdown 1 46 0 29 17
|- Rust 1 16 12 0 4
(Total) 62 12 29 21
-------------------------------------------------------------------------------
Rust 4 145 105 8 32
|- Markdown 1 27 0 27 0
(Total) 172 105 35 32
===============================================================================
Total 6 211 122 37 52
===============================================================================