Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: a calculator for zsh-4.x



On 2003-01-30 at 01:03 +0900, Clifford Caoile wrote:
> I don't know about you, but I reach for zsh when I want to calculate
> addition in hexadecimal

I also tend to do this; messing around with graphical calculators is a
pain.

> # -----------------------------------------------------------------begin
> # calculator - paste me into your .zshrc
> # ----------------------------------------------------------------------
> 
> # Here are some quick calculators that output in integer
> # hexadecimal, decimal, and binary.
> zcalc ()  { print $(( ans = ${1:-ans} )) }
> zcalch () { print $(( [#16] ans = ${1:-ans} )) }
> zcalcd () { print $(( [#10] ans = ${1:-ans} )) }
> zcalco () { print $(( [#8] ans = ${1:-ans} )) }
> zcalcb () { print $(( [#2] ans = ${1:-ans} )) }
> 
> # A key binding that will allow you to quickly get into zcalc
> bindkey -s '\C-xd' "zcalc \'"
> 
> # this last one lets you calculate the ascii value of a single character
> zcalcasc () { print $(( [#16] ans = ##${1:-ans} )) }
> # -------------------------------------------------------------------end

I like it.  :^)  But with one modification: for the first five
functions, replace ${1:-ans} with ${@:-ans} so that the quotes are
unnecessary unless you're using characters interpreted by the shell.

> Call for advice:
> Actually, I'm most interested in enhancing the bindkey definition. Placing
> just one quotation mark on the command line seems to be sloppy.

I just bypass the need for the bindkey for most of the things I'd use
these functions for.

Thanks,



Messages sorted by: Reverse Date, Date, Thread, Author