Template:Function

From Kolmafia
Jump to navigation Jump to search

This is the template to display a line of function information (for the function page template, see Template:FunctionPage).

Using This Template

  • "name" should be set to the name of the function, without parentheses (for link-building & displaying with parameters; parentheses will automatically be added by the template in the appropriate place).
  • "aggregate" should be listed and set to anything you'd like if the function returns an aggregate (map) data type. If this function returns a simple data type, delete this line.
  • "return_type" should be set to the datatype returned by the function.
  • "return_also" should be set to a secondary datatype. For instance, some functions can return both a string and a buffer. For most functions, which only return a single datatype, this line should be deleted.
  • "parameter1" through "parameter5" should be set to the parameters the function accepts. Each should be set using Template:Param. Use these parameters in order: don't start with "parameter2" if you don't include a "parameter1". (They can be listed in any order, if you really desire; you just can't skip an earlier parameter if you want them to display correctly.)
    • The first argument is the data type of the parameter
    • The second argument is the short description to display for the parameter (optional).
    • If the parameter is an aggregate, you should include "ag=yes" in the template call.
    • For more information, see Template:Param.
  • "p1desc" through "p5desc" are for long descriptions of the parameter. They will be displayed in list form below the function call line if used.
    • Again, it's recommended that you list them in numerical order.
    • For consistency, if you refer to the short description of the parameter, wrap it in Template:Pspan.
    • If you want sub-listing for the parameter description, use additional lines in the assignment that start with "**" to create a nested list.
{{Function|
name=NAME_OF_FUNCTION|
aggregate=ANYTHING_IF_RETURNS_AGGREGATE_OR_DELETE|
return_type=DATATYPE_RETURNED_(IF_AGGREGATE_FULL_MAP_DEFINITION)|
return_also=SECONDARY_DATATYPE_RETURNED_OR_DELETE|
parameter1={{Param|DATATYPE|SHORT_DESC}}|
parameter2={{Param|DATATYPE|SHORT_DESC}}|
parameter3={{Param|DATATYPE|SHORT_DESC}}|
parameter4={{Param|DATATYPE|SHORT_DESC}}|
parameter5={{Param|DATATYPE|SHORT_DESC}}|
p1desc=LONG_DESCRIPTION_OF_PARAMETER|
p2desc=LONG_DESCRIPTION_OF_PARAMETER|
p3desc=LONG_DESCRIPTION_OF_PARAMETER|
p4desc=LONG_DESCRIPTION_OF_PARAMETER|
p5desc=LONG_DESCRIPTION_OF_PARAMETER}}

Display the call signature of an ASH function

Template parameters

ParameterDescriptionTypeStatus
Function namename

Function name without parentheses

Example
{{#var:name}}
Linerequired
Returns aggregate?aggregate

"yes" if the function returns an aggregate type. Otherwise, this parameter must be empty.

Example
{{#var:aggregate}}
Lineoptional
Return typereturn_type

Return type of the function

Example
{{#var:return_type}}
Linerequired
Secondary return typereturn_also

Secondary return type of the function. Used only for functions that can return multiple types (e.g. string or buffer).

Example
{{#var:return_also}}
Lineoptional
Parameter 1parameter1

Parameter 1. Use {{Param}} to describe a parameter

Example
{{Param|param_type|param_name}}
Stringoptional
Parameter 2parameter2

Parameter 2. Use {{Param}} to describe a parameter.

Example
{{Param|param_type|param_name}}
Stringoptional
Parameter 3parameter3

Parameter 3. Use {{Param}} to describe a parameter.

Example
{{Param|param_type|param_name}}
Stringoptional
Parameter 4parameter4

Parameter 4. Use {{Param}} to describe a parameter.

Example
{{Param|param_type|param_name}}
Stringoptional
Parameter 5parameter5

Parameter 5. Use {{Param}} to describe a parameter.

Example
{{Param|param_type|param_name}}
Stringoptional
Parameter 1 descriptionp1desc

Long description for parameter 1

Example
{{Pspan|param_name}} is the parameter
Stringoptional
Parameter 2 descriptionp2desc

Long description for parameter 2

Example
{{Pspan|param_name}} is the parameter
Stringoptional
Parameter 3 descriptionp3desc

Long description for parameter 3

Example
{{Pspan|param_name}} is the parameter
Stringoptional
Parameter 4 descriptionp4desc

Long description for parameter 4

Example
{{Pspan|param_name}} is the parameter
Stringoptional
Parameter 5 descriptionp5desc

Long description for parameter 5

Example
{{Pspan|param_name}} is the parameter
Stringoptional