User Function

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(General Examples)
(Unlimited Function Parameters)
Line 29: Line 29:
 
{
 
{
 
my $Total = 0;
 
my $Total = 0;
foreach( @args as $item )
+
foreach( @args as my $item )
 
{
 
{
 
$Total += $item;
 
$Total += $item;

Revision as of 02:56, 20 April 2012

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 my $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