mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-13 23:31:08 +02:00
Norbert Koch: 15954: fix inconsistency of variable name in example.
This commit is contained in:
parent
bf15727e38
commit
7668a03cb2
2 changed files with 39 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2001-10-06 Clint Adams <clint@zsh.org>
|
||||||
|
|
||||||
|
* Norbert Koch: 15954: Doc/Zsh/arith.yo:
|
||||||
|
fix inconsistency of variable name in example.
|
||||||
|
|
||||||
2001-10-05 Clint Adams <clint@zsh.org>
|
2001-10-05 Clint Adams <clint@zsh.org>
|
||||||
|
|
||||||
* 15941: Completion/Unix/Command/_mount:
|
* 15941: Completion/Unix/Command/_mount:
|
||||||
|
|
|
@ -29,7 +29,7 @@ is equivalent to
|
||||||
|
|
||||||
example(let "val = 2 + 1")
|
example(let "val = 2 + 1")
|
||||||
|
|
||||||
both assigning the value 3 to the shell variable tt(foo) and returning a
|
both assigning the value 3 to the shell variable tt(var) and returning a
|
||||||
zero status.
|
zero status.
|
||||||
|
|
||||||
cindex(bases, in arithmetic)
|
cindex(bases, in arithmetic)
|
||||||
|
@ -43,6 +43,33 @@ The var(base)tt(#) may also be omitted, in which case
|
||||||
base 10 is used. For backwards compatibility the form
|
base 10 is used. For backwards compatibility the form
|
||||||
`tt([)var(base)tt(])var(n)' is also accepted.
|
`tt([)var(base)tt(])var(n)' is also accepted.
|
||||||
|
|
||||||
|
It is also possible to specify a base to be used for output in the form
|
||||||
|
`tt([#)var(base)tt(])', for example `tt([#16])'. This is used when
|
||||||
|
outputting arithmetical substitutions or when assigning to scalar
|
||||||
|
parameters, but an explicitly defined integer or floating point parameter
|
||||||
|
will not be affected. If an integer variable is implicitly defined by an
|
||||||
|
arithmetic expression, any base specified in this way will be set as the
|
||||||
|
variable's output arithmetic base as if the option `tt(-i) var(base)' to
|
||||||
|
the tt(typeset) builtin had been used. The expression has no precedence
|
||||||
|
and if it occurs more than once in a mathematical expression, the last
|
||||||
|
encountered is used. For clarity it is recommended that it appear at the
|
||||||
|
beginning of an expression. As an example:
|
||||||
|
|
||||||
|
example(typeset -i 16 y
|
||||||
|
print $(( [#8] x = 32, y = 32 ))
|
||||||
|
print $x $y)
|
||||||
|
|
||||||
|
outputs first `tt(8#40)', the rightmost value in the given output base, and
|
||||||
|
then `tt(8#40 16#20)', because tt(y) has been explicitly declared to
|
||||||
|
have output base 16, while tt(x) (assuming it does not already exist) is
|
||||||
|
implicitly typed by the arithmetic evaluation, where it acquires the output
|
||||||
|
base 8.
|
||||||
|
|
||||||
|
When an output base is specified using the `tt([#)var(base)tt(])' syntax,
|
||||||
|
an appropriate base prefix will be output if necessary, so that the value
|
||||||
|
output is valid syntax for input. If the tt(#) is doubled, for example
|
||||||
|
`tt([##16])', then no base prefix is output.
|
||||||
|
|
||||||
Floating point constants are recognized by the presence of a decimal point
|
Floating point constants are recognized by the presence of a decimal point
|
||||||
or an exponent. The decimal point may be the first character of the
|
or an exponent. The decimal point may be the first character of the
|
||||||
constant, but the exponent character tt(e) or tt(E) may not, as it will be
|
constant, but the exponent character tt(e) or tt(E) may not, as it will be
|
||||||
|
@ -84,12 +111,14 @@ Mathematical functions can be called with the syntax
|
||||||
`var(func)tt(LPAR())var(args)tt(RPAR())', where the function decides
|
`var(func)tt(LPAR())var(args)tt(RPAR())', where the function decides
|
||||||
if the var(args) is used as a string or a comma-separated list of
|
if the var(args) is used as a string or a comma-separated list of
|
||||||
arithmetic expressions. The shell currently defines no mathematical
|
arithmetic expressions. The shell currently defines no mathematical
|
||||||
functions, but modules may define some.
|
functions by default, but the module tt(zsh/mathfunc) may be loaded with
|
||||||
|
the tt(zmodload) builtin to provide standard floating point mathematical
|
||||||
|
functions.
|
||||||
|
|
||||||
An expression of the form `tt(##)var(x)' where var(x) is any character
|
An expression of the form `tt(##)var(x)' where var(x) is any character
|
||||||
sequence such as `tt(a)', `tt(^A)', or `tt(\M-\C-x)' gives the ascii
|
sequence such as `tt(a)', `tt(^A)', or `tt(\M-\C-x)' gives the ASCII
|
||||||
value of this character and an expression of the form `tt(#)var(foo)'
|
value of this character and an expression of the form `tt(#)var(foo)'
|
||||||
gives the ascii value of the first character of the value of the
|
gives the ASCII value of the first character of the value of the
|
||||||
parameter var(foo). Note that this is different from the expression
|
parameter var(foo). Note that this is different from the expression
|
||||||
`tt($#)var(foo)', a standard parameter substitution which gives the
|
`tt($#)var(foo)', a standard parameter substitution which gives the
|
||||||
length of the parameter var(foo). `tt(#\)' is accepted instead of
|
length of the parameter var(foo). `tt(#\)' is accepted instead of
|
||||||
|
@ -139,7 +168,7 @@ retain that type either until the type is explicitly changed or until the
|
||||||
end of the scope. This can have unforeseen consequences. For example, in
|
end of the scope. This can have unforeseen consequences. For example, in
|
||||||
the loop
|
the loop
|
||||||
|
|
||||||
example(for (( f = 0; f < 1; f += 0.1 )); do;
|
example(for (( f = 0; f < 1; f += 0.1 )); do
|
||||||
# use $f
|
# use $f
|
||||||
done)
|
done)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue