Properties

Last built 2 years ago using go version go1.4.2 linux/amd64 and 15 seconds of time

Downloads
Filename
File Size
 
calc_master_darwin-386.zip
649KiB
calc_master_darwin-amd64.zip
687KiB
calc_master_linux-386.zip
651KiB
calc_master_linux-amd64.zip
690KiB
calc_master_linux-arm.zip
667KiB
calc_master_windows-386.zip
676KiB
calc_master_windows-amd64.zip
720KiB
Project-Readme for this version

calc

GoDoc Build Status

A simple, fast, and intuitive command-line calculator written in Go.

Install

Install calc as you would any other Go program:

go get github.com/alfredxing/calc

Usage

You can use calc in two ways: shell mode and command.

Shell mode

This is probably the mode you’ll want to use. It’s like the python shell or irb. The shell mode uses the terminal package provided by golang.org/x/crypto/ssh/terminal, which means it supports many of the shell features you know and love (like history, pasting, and the exit command).

> 1+1
2
> 3(5/(3-4))
-15
> 3pi^2
29.608813203268074
> @+1
30.608813203268074
> @@@*2
-30
> ln(-1)
NaN

Command

You can also use calc to evaluate an expression with just a single command (i.e. without opening the shell). To do this, just use calc [expression]:

bash$ calc 1+1
2
bash$

Supported functions, operators, and constants

calc supports all the standard stuff, and I’m definitely adding more later (also feel free to fork and add your own!)

Operators

+, -, *, /, ^, %

Functions

sin, cos, tan, cot, sec, csc, asin, acos, atan, acot, asec, acsc, sqrt, log, lg, ln, abs

Constants

e, pi, π

History

Previous results can be accessed with the @ symbol. A single @ returns the result of the last computation, while multiple @ gets the nth last result, where n is the number of @s used (for example, @@ returns the second-last result, @@@@@ returns the fifth-last result).

Why not use …?

  • Google
    • Doesn’t work without an internet connection
    • Slower
    • Doesn’t show previous computations, so you end up with multiple tabs open at once.
  • Spotlight (on OS X)
    • No history
    • Switching between Spotlight and other windows isn’t too fun
  • Python/IRB
    • Requires use of a separate math module for most functions and constants
    • A little bit slower to start up
  • bc
    • Limited number of built-in functions; these have shortened (not too intuitive) names as well.

The alternatives above are all great, and have their own advantages over calc. I highly recommend looking into these if you don’t like how calc works.