|
|
\subsection{Declaration}
|
|
|
What is a Function?
|
|
|
We have been learning Functional programming, how come we haven't come across Functions until now?
|
|
|
Because I said so.
|
|
|
\par
|
|
|
|
|
|
A Function allows use to assign a block of code to a name which allows us to eaily repeat the execution of that code without having
|
|
|
to retype the code.
|
|
|
Consider the code.
|
|
|
|
|
|
\begin{lstlisting}[caption={Function Candidate Example}]
|
|
|
def PrintHello():
|
|
|
print ``Hello''
|
|
|
|
|
|
PrintHello()
|
|
|
print ``Goodbye''
|
|
|
PrintHello()
|
|
|
Print ``I said Goodbye!''
|
|
|
\end{lstlisting}
|
|
|
|
|
|
This code will output the following:\\
|
|
|
\pigOut{Hello\\
|
|
|
Goodbye\\
|
|
|
Hello\\
|
|
|
I said Goodbye!}\\
|
|
|
As you can see we are declaring a Function called \pigVar{PrintHello} with the code block \pigVar{print ``Hello''}.
|
|
|
As may have noticed when the code gets to the declaration of the Function it does not execute the code block, instead it
|
|
|
saves the code block for execution later when the Function name is called.
|
|
|
To call the function we use the Function name followed by opening and closing parentheses, \pigVar{PrintHello()}.
|
|
|
|
|
|
\subsection{Returns}
|
|
|
|
|
|
\subsection{Parameters}
|
|
|
|
|
|
\subsection{Recursion}
|