Difference between revisions of "Category:LSL User-Defined Functions"

From Second Life Wiki
Jump to navigation Jump to search
m (Folded article into category)
Line 1: Line 1:
{{LSL Header|ml=3}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}
{{LSL Header|ml=3}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}
==User-Defined Functions==
==User-Defined Functions==
This category contains custom pre-defined function contributions from the LSL community to extend the abilities of LSL.
To add a wiki page to this category, include a link to this page. You may use the [Template:LSL_Function/docs|Template:LSL_Function] (with "mode" set to user) to create the page to be added here.


Come to this page to see contributions from the LSL community in creating custom functions.
Go to the {{LSLGC|Functions}} page to view the built-in functions.


Go to the {{LSLGC|Functions}} page to view the built-in functions.<br/>
=== About User-Defined Functions ===
For more on User-Defined functions and how to make them visit [[User-defined_functions|here]]
LSL allows user-defined functions. The syntax is very simple:
 
<lsl>
 
return_type variable_name(par1type par1name, par2type par2name,...)
  {
    function_statements;
    .
    .
    .
    return value_of_return_type;
  }
</lsl>
 
There are no "function" or "def" keywords or function type/inheritance specifiers needed. I have not yet discovered what limits (if any) exist on the length or composition of the parameter list.  Multiple types can be used, as shown in the example below.  A list can be returned, so a single function can return a list with several values in it. User-defined functions will help keep scripts compact and readable, and allow rudimentary code reuse.  The [[LSL_Style_Guide]] suggests that user-defined functions should be placed before the default state definition and after user-defined variables. Placing user-defined functions after the first state will result in a Syntax Error.
 
examples can be found linked below

Revision as of 09:27, 1 June 2012

User-Defined Functions

This category contains custom pre-defined function contributions from the LSL community to extend the abilities of LSL. To add a wiki page to this category, include a link to this page. You may use the [Template:LSL_Function/docs|Template:LSL_Function] (with "mode" set to user) to create the page to be added here.

Go to the Functions page to view the built-in functions.

About User-Defined Functions

LSL allows user-defined functions. The syntax is very simple:

<lsl>

return_type variable_name(par1type par1name, par2type par2name,...)

 {
   function_statements;
   .
   .
   .
   return value_of_return_type;
 }

</lsl>

There are no "function" or "def" keywords or function type/inheritance specifiers needed. I have not yet discovered what limits (if any) exist on the length or composition of the parameter list. Multiple types can be used, as shown in the example below. A list can be returned, so a single function can return a list with several values in it. User-defined functions will help keep scripts compact and readable, and allow rudimentary code reuse. The LSL_Style_Guide suggests that user-defined functions should be placed before the default state definition and after user-defined variables. Placing user-defined functions after the first state will result in a Syntax Error.

examples can be found linked below