DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(gawk.info.gz) Function Calls

Info Catalog (gawk.info.gz) Conditional Exp (gawk.info.gz) Expressions (gawk.info.gz) Precedence
 
 Function Calls
 ==============
 
    A "function" is a name for a particular calculation.  This enables
 you to ask for it by name at any point in the program.  For example,
 the function `sqrt' computes the square root of a number.
 
    A fixed set of functions are "built-in", which means they are
 available in every `awk' program.  The `sqrt' function is one of these.
  Built-in Functions Built-in, for a list of built-in functions
 and their descriptions.  In addition, you can define functions for use
 in your program.   User-Defined Functions User-defined, for
 instructions on how to do this.
 
    The way to use a function is with a "function call" expression,
 which consists of the function name followed immediately by a list of
 "arguments" in parentheses.  The arguments are expressions that provide
 the raw materials for the function's calculations.  When there is more
 than one argument, they are separated by commas.  If there are no
 arguments, just write `()' after the function name.  The following
 examples show function calls with and without arguments:
 
      sqrt(x^2 + y^2)        one argument
      atan2(y, x)            two arguments
      rand()                 no arguments
 
    *Caution:* Do not put any space between the function name and the
 open-parenthesis!  A user-defined function name looks just like the
 name of a variable--a space would make the expression look like
 concatenation of a variable with an expression inside parentheses.
 
    With built-in functions, space before the parenthesis is harmless,
 but it is best not to get into the habit of using space to avoid
 mistakes with user-defined functions.  Each function expects a
 particular number of arguments.  For example, the `sqrt' function must
 be called with a single argument, the number of which to take the
 square root:
 
      sqrt(ARGUMENT)
 
    Some of the built-in functions have one or more optional arguments.
 If those arguments are not supplied, the functions use a reasonable
 default value.   Built-in Functions Built-in, for full details.
 If arguments are omitted in calls to user-defined functions, then those
 arguments are treated as local variables and initialized to the empty
 string ( User-Defined Functions User-defined.).
 
    Like every other expression, the function call has a value, which is
 computed by the function based on the arguments you give it.  In this
 example, the value of `sqrt(ARGUMENT)' is the square root of ARGUMENT.
 A function can also have side effects, such as assigning values to
 certain variables or doing I/O.  The following program reads numbers,
 one number per line, and prints the square root of each one:
 
      $ awk '{ print "The square root of", $1, "is", sqrt($1) }'
      1
      -| The square root of 1 is 1
      3
      -| The square root of 3 is 1.73205
      5
      -| The square root of 5 is 2.23607
      Ctrl-d
 
Info Catalog (gawk.info.gz) Conditional Exp (gawk.info.gz) Expressions (gawk.info.gz) Precedence
automatically generated byinfo2html