Template:FunctionDeclaration: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
<includeonly><kbd><b>{{{return_type}}} {{{name}}}({{ | <includeonly><kbd><b>{{{return_type}}} {{{name}}}({{ | ||
#if: {{{param1|}}} | #if: {{{param1.type|}}} | ||
|{{#if: {{{param1.optional|}}}| <nowiki>[</nowiki>}} {{User:Philmasterplus/Param|{{{param1.type}}}|{{{param1}}}}}{{ | |{{#if: {{{param1.optional|}}}| <nowiki>[</nowiki>}} {{User:Philmasterplus/Param|{{{param1.type}}}|{{{param1|}}}}}{{ | ||
#if: {{{param1.default|}}}| = {{{param1.default|}}} | #if: {{{param1.default|}}}| = {{{param1.default|}}}}}{{ | ||
#if: {{{param1.optional|}}}|<nowiki>]</nowiki>}} | #if: {{{param1.optional|}}}| <nowiki>]</nowiki>}} | ||
}}{{ | }}{{ | ||
#if: {{{param2|}}} | #if: {{{param2.type|}}} | ||
|{{#if: {{{param2.optional|}}}| <nowiki>[</nowiki>}}, {{User:Philmasterplus/Param|{{{param2.type}}}|{{{param2}}}}}{{ | |{{#if: {{{param2.optional|}}}| <nowiki>[</nowiki>}}, {{User:Philmasterplus/Param|{{{param2.type}}}|{{{param2|}}}}}{{ | ||
#if: {{{param2.default|}}}| = {{{param2.default|}}} | #if: {{{param2.default|}}}| = {{{param2.default|}}}}}{{ | ||
#if: {{{param2.optional|}}}|<nowiki>]</nowiki>}} | #if: {{{param2.optional|}}}| <nowiki>]</nowiki>}} | ||
}}{{ | }}{{ | ||
#if: {{{param3|}}} | #if: {{{param3.type|}}} | ||
|{{#if: {{{param3.optional|}}}| <nowiki>[</nowiki>}}, {{User:Philmasterplus/Param|{{{param3.type}}}|{{{param3}}}}}{{ | |{{#if: {{{param3.optional|}}}| <nowiki>[</nowiki>}}, {{User:Philmasterplus/Param|{{{param3.type}}}|{{{param3|}}}}}{{ | ||
#if: {{{param3.default|}}}| = {{{param3.default|}}} | #if: {{{param3.default|}}}| = {{{param3.default|}}}}}{{ | ||
#if: {{{param3.optional|}}}|<nowiki>]</nowiki>}} | #if: {{{param3.optional|}}}| <nowiki>]</nowiki>}} | ||
}}{{ | }}{{ | ||
#if: {{{param4|}}} | #if: {{{param4.type|}}} | ||
|{{#if: {{{param4.optional|}}}| <nowiki>[</nowiki>}}, {{User:Philmasterplus/Param|{{{param4.type}}}|{{{param4}}}}}{{ | |{{#if: {{{param4.optional|}}}| <nowiki>[</nowiki>}}, {{User:Philmasterplus/Param|{{{param4.type}}}|{{{param4|}}}}}{{ | ||
#if: {{{param4.default|}}}| = {{{param4.default|}}} | #if: {{{param4.default|}}}| = {{{param4.default|}}}}}{{ | ||
#if: {{{param4.optional|}}}|<nowiki>]</nowiki>}} | #if: {{{param4.optional|}}}| <nowiki>]</nowiki>}} | ||
}}{{ | }}{{ | ||
#if: {{{param5|}}} | #if: {{{param5.type|}}} | ||
|{{#if: {{{param5.optional|}}}| <nowiki>[</nowiki>}}, {{User:Philmasterplus/Param|{{{param5.type}}}|{{{param5}}}}}{{ | |{{#if: {{{param5.optional|}}}| <nowiki>[</nowiki>}}, {{User:Philmasterplus/Param|{{{param5.type}}}|{{{param5|}}}}}{{ | ||
#if: {{{param5.default|}}}| = {{{param5.default|}}} | #if: {{{param5.default|}}}| = {{{param5.default|}}}}}{{ | ||
#if: {{{param5.optional|}}}|<nowiki>]</nowiki>}} | #if: {{{param5.optional|}}}| <nowiki>]</nowiki>}} | ||
}}{{ | }}{{ | ||
#if: {{{param1|}}} | #if: {{{param1.type|}}} | ||
| | | | ||
}})</b></kbd></includeonly><noinclude> | }})</b></kbd></includeonly><noinclude> | ||
| Line 46: | Line 46: | ||
"param1": { | "param1": { | ||
"label": "Parameter 1 name", | "label": "Parameter 1 name", | ||
"description": "Name of parameter 1 (and so on for parameters 2 through 5)", | "description": "Name of parameter 1 (and so on for parameters 2 through 5). If omitted, only the parameter type will be shown.", | ||
"type": "line" | "type": "line" | ||
}, | }, | ||
| Line 189: | Line 189: | ||
|param4.optional=yes | |param4.optional=yes | ||
|param4.default=true | |param4.default=true | ||
}} | |||
===No parameter names (signature only)=== | |||
<pre>{{User:Philmasterplus/FunctionDeclaration | |||
|name=maximize | |||
|return_type=record [int] | |||
|param1.type=string | |||
|param2.type=int | |||
|param3.type=int | |||
|param4.type=boolean | |||
|param5.type=boolean | |||
}}</pre> | |||
{{User:Philmasterplus/FunctionDeclaration | |||
|name=maximize | |||
|return_type=record [int] | |||
|param1.type=string | |||
|param2.type=int | |||
|param3.type=int | |||
|param4.type=boolean | |||
|param5.type=boolean | |||
}} | }} | ||
</noinclude> | </noinclude> | ||
Revision as of 20:22, 18 December 2020
Displays an ASH function's declaration. This is meant to be transcluded by other templates, rather than function pages.
| Parameter | Description | Type | Status | |
|---|---|---|---|---|
| Function name | name | Name of the function | Line | optional |
| Function return type | return_type | Return type of the function
| Line | optional |
| Parameter 1 name | param1 | Name of parameter 1 (and so on for parameters 2 through 5). If omitted, only the parameter type will be shown. | Line | optional |
| Parameter 1 type | param1.type | Parameter 1 data type
| Line | optional |
| Parameter 1 is optional? | param1.optional | "yes" = optional. Any non-empty string will do, but please use "yes" to make standardization easier.
| String | optional |
| Parameter 1 default value | param1.default | If this is specified, param1.optional must be "yes" | Line | optional |
Examples
No arguments
{{User:Philmasterplus/FunctionDeclaration
|name=my_id
|return_type=int
}}
int my_id()
Single argument
{{User:Philmasterplus/FunctionDeclaration
|name=to_item
|return_type=int
|param1=it
|param1.type=item
}}
int to_item( Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist )
Multiple arguments
{{User:Philmasterplus/FunctionDeclaration
|name=maximize
|return_type=record [int]
|param1=expression
|param1.type=string
|param2=max_price
|param2.type=int
|param3=price_level
|param3.type=int
|param4=simulate
|param4.type=boolean
|param5=include_equip
|param5.type=boolean
}}
record [int] maximize( Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist )
Optional arguments
{{User:Philmasterplus/FunctionDeclaration
|name=creatable_turns
|return_type=int
|param1=check_me
|param1.type=item
|param2=qty
|param2.type=int
|param2.optional=yes
|param3=free
|param3.type=boolean
|param3.optional=yes
}}
int creatable_turns( Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist [, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist ] [, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist ] )
Default arguments
{{User:Philmasterplus/FunctionDeclaration
|name=visit_url
|return_type=buffer
|param1=url
|param1.type=string
|param2=use_POST
|param2.type=boolean
|param2.optional=yes
|param2.default=true
|param3=encoded
|param3.type=boolean
|param3.optional=yes
|param3.default=false
}}
buffer visit_url( [ Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist ] [, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist = true ] [, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist = false ] [, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist = true ] )
No parameter names (signature only)
{{User:Philmasterplus/FunctionDeclaration
|name=maximize
|return_type=record [int]
|param1.type=string
|param2.type=int
|param3.type=int
|param4.type=boolean
|param5.type=boolean
}}
record [int] maximize( Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist, Page '{{{name}}}' does not exist? Page '{{{name}}}' does not exist = Page '{{{name}}}' does not exist )