Scope/Function names and labels: Difference between revisions

From Rosetta Code
Content added Content deleted
m (awk)
m (wiki syntax and spacing)
Line 6: Line 6:
For scope modification facilities see [[Scope modifiers]].
For scope modification facilities see [[Scope modifiers]].


{{lang|AWK}}
{{header|AWK}}


In [awk] function names are always global and can be referenced in sections of code appearing before the definition:
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
<lang awk># This program outputs a greeting
BEGIN {
BEGIN {
sayhello() # Call the function defined below
sayhello() # Call the function defined below
exit
exit
}
}


function sayhello {
function sayhello {

Revision as of 23:45, 18 February 2013

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.