www.delorie.com/gnu/docs/gawk/gawk_146.html   search  
 
Buy the book!


The GNU Awk User's Guide

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.2.5 Functions and Their Effects on Variable Typing

awk is a very fluid language. It is possible that awk can't tell if an identifier represents a regular variable or an array until runtime. Here is an annotated sample program:

 
function foo(a)
{
    a[1] = 1   # parameter is an array
}

BEGIN {
    b = 1
    foo(b)  # invalid: fatal type mismatch

    foo(x)  # x uninitialized, becomes an array dynamically
    x = 1   # now not allowed, runtime error
}

Usually, such things aren't a big issue, but it's worth being aware of them.


  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003