rpn-reckoner

Crates.iorpn-reckoner
lib.rsrpn-reckoner
version0.1.3
sourcesrc
created_at2023-02-08 06:16:21.987887
updated_at2023-02-08 08:00:32.146084
descriptionA Reverse Polish Notation library
homepagehttps://github.com/Rei-Ashine
repositoryhttps://github.com/Rei-Ashine/rpn-reckoner
max_upload_size
id779414
size9,712
Rei ASHINE (Rei-Ashine)

documentation

README

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.

REPL

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
===============================================================================

Reference

ref1

License

Commit count: 10

cargo fmt