User Function

From Sputnik Wiki
Revision as of 13:42, 2 December 2011 by UberFoX (Talk | contribs)
Jump to: navigation, search
Function <name> ( <Parameters> ... )
{
	statements
	...
}

Contents

Description

Features

Remarks

Examples

Important Examples

Unlimited Function Parameters

If you’ve most likely noticed that several function such as println() can take an indeterminate number of arguments. Normally when defining a function you specify each argument in the function declaration. Obviously it would be impossible to define an infinite number of arguments in such a way. Sputnik does, however, allow you to accomplish this through the array @args.

@args is an array consisting of all of the arguments passed to a function. Using this method you can bypass the conventional method of defining parameters in the function definition all-together. Here is an example:

println( Add(1, 2, 3) ); // will return 6
 
Function Add()
{
	my $Total = 0;
	foreach( @args as $item )
	{
		$Total += $item;
	}
	return $Total;
}

If for whatever reason you need to know the total number of arguments passed to a function, You can simply use UBound($args) within the function.

When retrieving arguments in this manner it is important to remember that @args only contains an array of arguments passed by the user. It does not account for default values etc.

Note - If outside a function @args will return an empty array.

General Examples

println( Add(1, 2) ); // will return 3
 
Function Add($a, $b)
{
	return $a + $b;
}


println( Add(2) ); // will return 52
println( Add(2, 4) ); // will return 6
 
Function Add($a, $b = 50)
{
	return $a + $b;
}
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox