| Crates.io | clc |
| lib.rs | clc |
| version | 0.1.4 |
| created_at | 2022-03-26 14:57:46.195023+00 |
| updated_at | 2022-03-30 16:46:40.177019+00 |
| description | Calculator command line interface app |
| homepage | |
| repository | https://github.com/ymgyt/calculator |
| max_upload_size | |
| id | 556717 |
| size | 34,185 |
Clc is a Command line calculator written in Rust 🦀 It eval given expression and print result.
There are prebuilt x86-64 binaries for Linux, macOS and Windows on the release page.
You can install the latest release from source using cargo, or build directly from a source checkout.
cargo install clc
curl -sSLf https://github.com/ymgyt/calculator/releases/download/0.1.4/clc-x86_64-unknown-linux-gnu.tar.gz | tar zxf - -C /usr/local/bin
curl -sSLf https://github.com/ymgyt/calculator/releases/download/0.1.4/clc-x86_64-apple-darwin.tar.gz | tar zxf - -C /usr/local/bin
To use clc with docker, execute the following command.
docker run --rm -it ghcr.io/ymgyt/clc:latest
Execute the clc command to start a repl session. type the expression to evaluate and press Enter.
To exit the session, type quit or press Ctrl + C.
$ clc
Version: v0.1.4
To quit, press Ctrl+C or type quit
❯ sqrt(sqrt(16)) * (100 - 1) * (100 + 1) / 9
2222
❯ quit
bye
You can also retrieve results directly without using a repl session. pass the expression to evaluate with --eval flag
clc --eval 'sqrt(-2^2) - abs(2)'
Some functions take lambda expression as argument.
A lambda expression is written like |x| { x^2 }.
{,} are optional, so the above expression can also be written as follows |x| x^2.
❯ sig(1,10 |x| x^2)
385
❯ sig(1,10 |x| sig(1,10 |y| x*y))
3025
| identifier | description |
|---|---|
sqrt(n) |
Returns the square root of a number Return NaN if a negative number provided |
pow(n,m) |
Raise n to the power of m. (= n ^ m) |
abs(n) |
Compute the absolute value of n |
sig(n,m,lambda) |
Execute lambda with values from n to m and return the sum of the results |
| identifier | description |
|---|---|
pi |
Archimedes’ constant (π) |
e |
Euler’s number (e) |
This project is available under the terms of either the Apache 2.0 license or the MIT license.