Scope/Function names and labels

From Rosetta Code
Revision as of 18:54, 19 February 2013 by rosettacode>Markhobley (category)
Scope/Function names and labels is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

The task is to explain or demonstrate the levels of visibility of function names and labels within the language.

For levels of scope relating to visibility of variables see Variables. For scope modification facilities see Scope modifiers.

AWK

In awk function names are always global and can be referenced in sections of code appearing before the definition:

<lang awk># This program outputs a greeting BEGIN {

 sayhello()    # Call the function defined below
 exit

}

function sayhello {
  print "Hello World!"    # Outputs a message to the terminal
}</lang>

Note that the awk extraction and reporting language is data driven and does not support arbitary line labels.