https://github.com/tomtom/tcalc_vim
A small ruby-based RPN-calculator with optional VIM integration
https://github.com/tomtom/tcalc_vim
Last synced: about 1 month ago
JSON representation
A small ruby-based RPN-calculator with optional VIM integration
- Host: GitHub
- URL: https://github.com/tomtom/tcalc_vim
- Owner: tomtom
- Created: 2010-04-06T17:41:20.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2013-10-20T14:39:09.000Z (over 12 years ago)
- Last Synced: 2025-02-22T05:27:52.105Z (over 1 year ago)
- Language: Ruby
- Homepage: http://www.vim.org/scripts/script.php?script_id=2040
- Size: 125 KB
- Stars: 3
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: CHANGES.TXT
Awesome Lists containing this project
README
It turns out that ruby is pretty good at maths and deals well with
complex or rational numbers etc. Anyway, in certain occasions a postfix
syntax and a stack are better suited for calculations than ruby's infix
syntax. So, here comes ...
:TCalc[!]
A small ruby-based[*] RPN-calculator, a simple ASCII function
plotter, and stack-based playground :-).
The tcalc.rb script can also be used as a stand-alone calculator (with
optional support for curses and readline). Run "tcalc --help" for
information on the command-line options.
Input:
- Numbers (anything that starts with "-" or a decimal)
- Strings (anything that matches /^"(.*?)"$/)
- Be aware that the strings and numbers get evaluated by ruby.
You can thus execute ruby code by input like: -1;p'foo'
- Methods & constants of the following classes are available:
Float :: http://www.ruby-doc.org/core/classes/Float.html
Complex :: http://www.ruby-doc.org/core/classes/Complex.html
Rational :: http://www.ruby-doc.org/core/classes/Rational.html
Integer :: http://www.ruby-doc.org/core/classes/Integer.html
Matrix :: http://www.ruby-doc.org/core/classes/Matrix.html
Vector :: http://www.ruby-doc.org/core/classes/Vector.html
Math :: http://www.ruby-doc.org/core/classes/Math.html
- #N (pull the item at position N to the top)
- Call words: WORD[COUNT][@ARRITY][,ARGUMENT]
- If COUNT is "#", the top element will be used.
- Enter, escape => exit
Tokens are separated by blanks (� la forth). The blanks between the
words thus are significant.
[*] For use with VIM, built-in ruby support (:echo has('ruby')) is
required.
-----------------------------------------------------------------------
Status: Works for me (there may be some minor quirks)
Install: See http://github.com/tomtom/vimtlib/blob/master/INSTALL.TXT
See http://github.com/tomtom for related plugins.