(gawk) Increment Ops
Info Catalog
(gawk) Assignment Ops
(gawk) Expressions
(gawk) Truth Values
Increment and Decrement Operators
=================================
"Increment" and "decrement operators" increase or decrease the value
of a variable by one. You could do the same thing with an assignment
operator, so the increment operators add no power to the `awk'
language; but they are convenient abbreviations for very common
operations.
The operator to add one is written `++'. It can be used to increment
a variable either before or after taking its value.
To pre-increment a variable V, write `++V'. This adds one to the
value of V and that new value is also the value of this expression.
The assignment expression `V += 1' is completely equivalent.
Writing the `++' after the variable specifies post-increment. This
increments the variable value just the same; the difference is that the
value of the increment expression itself is the variable's _old_ value.
Thus, if `foo' has the value four, then the expression `foo++' has the
value four, but it changes the value of `foo' to five.
The post-increment `foo++' is nearly equivalent to writing `(foo +=
1) - 1'. It is not perfectly equivalent because all numbers in `awk'
are floating point: in floating point, `foo + 1 - 1' does not
necessarily equal `foo'. But the difference is minute as long as you
stick to numbers that are fairly small (less than 10e12).
Any lvalue can be incremented. Fields and array elements are
incremented just like variables. (Use `$(i++)' when you wish to do a
field reference and a variable increment at the same time. The
parentheses are necessary because of the precedence of the field
reference operator, `$'.)
The decrement operator `--' works just like `++' except that it
subtracts one instead of adding. Like `++', it can be used before the
lvalue to pre-decrement or after it to post-decrement.
Here is a summary of increment and decrement expressions.
`++LVALUE'
This expression increments LVALUE and the new value becomes the
value of the expression.
`LVALUE++'
This expression increments LVALUE, but the value of the expression
is the _old_ value of LVALUE.
`--LVALUE'
Like `++LVALUE', but instead of adding, it subtracts. It
decrements LVALUE and delivers the value that results.
`LVALUE--'
Like `LVALUE++', but instead of adding, it subtracts. It
decrements LVALUE. The value of the expression is the _old_ value
of LVALUE.
Info Catalog
(gawk) Assignment Ops
(gawk) Expressions
(gawk) Truth Values
automatically generated byinfo2html