Difference between revisions of "Template:Str len/doc"

From Ava Zinn Wiki
Jump to: navigation, search
[unchecked revision][unchecked revision]
(Changed all references from {{str len full}} to {{str len}} due to move to that name.)
m (46 revisions)
 
(38 intermediate revisions by 27 users not shown)
Line 1: Line 1:
{{documentation subpage}}
+
{{Documentation subpage}}
{{intricate template}}
+
{{Used in system}}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
+
{{Lua|Module:String}}
 
+
<!----PLEASE ADD CATEGORIES WHERE INDICATED AT THE BOTTOM OF THIS PAGE---->
{{caution
 
| This template is brand new. It might need a little more testing by other users, but it has passed all my tests. <br> --[[User:Davidgothberg|David Göthberg]] ([[User talk:Davidgothberg|talk]]) 14:43, 28 March 2009 (UTC)
 
}}
 
 
 
 
This is the {{tl|str len}} meta-template.
 
This is the {{tl|str len}} meta-template.
  
It takes a string as parameter and returns its length. It can count up to 500 in length, and returns 500 for strings that are too long.
+
It takes a string as parameter and returns its length (excluding spaces at the start and end). It can now count as high as necessary.
 
 
'''Note!''' For most usage cases it is much easier and costs much less server resources to use {{tl|str ≥ len}} or one of its sister templates. See the [[#See also|see also]] section below.
 
 
 
=== Examples ===
 
  
 +
===Examples===
 
If the parameter is empty or undefined it is considered to be of zero length:  
 
If the parameter is empty or undefined it is considered to be of zero length:  
  
Line 28: Line 21:
  
 
:<code><nowiki>{{str len| café åäö }}</nowiki></code> returns {{str len| café åäö }}
 
:<code><nowiki>{{str len| café åäö }}</nowiki></code> returns {{str len| café åäö }}
 
It can measure strings up to 500 in length, and returns 500 for strings that are too long:
 
  
 
:<code><nowiki>{{str len| 499-characters... }}</nowiki></code> returns {{str len| abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi }}
 
:<code><nowiki>{{str len| 499-characters... }}</nowiki></code> returns {{str len| abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi }}
 
:<code><nowiki>{{str len| 1000-characters... }}</nowiki></code> returns {{str len| abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghij }}
 
:<code><nowiki>{{str len| 1000-characters... }}</nowiki></code> returns {{str len| abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghij }}
  
=== Technical details ===
+
===Template data===
 +
{{TemplateDataHeader}}
 +
<templatedata>
 +
{
 +
        "description": "The template takes a string as parameter and returns its length, excluding spaces at the start and end of the string",
 +
        "params": {
 +
                "1": {
 +
                        "label": "Alpha-numeric text",
 +
                        "description": "The string to be counted",
 +
                        "type": "string",
 +
                        "required": true
 +
                }
 +
        }
 +
}
 +
</templatedata>
  
MediaWiki has no parser function or magic word to measure string lengths. And measuring string length using template code is very heavy on the servers. Thus this template is as optimised as possible. But you should consider using {{tl|str ≥ len}} instead, since for most usage cases it is much easier to use and it costs much less server resources.
+
===Technical details===
 +
This is the first general-purpose template to be implemented using [[mw:Extension:Scribunto]]. The Lua code is located in [[Module:String]].
  
This template calls {{tl|str len/core}} which does most of the work. For documentation on the internal workings of these two templates see /core. The [[Template talk:Str len|talk page]] might also have more details.
+
===See also===
 
+
{{String-handling templates |IRL}}
=== See also ===
 
 
 
{{string templates see also}}
 
  
 
<includeonly>
 
<includeonly>
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS -->
+
{{#ifeq:{{SUBPAGENAME}}|sandbox | |
[[Category:String manipulation templates|{{PAGENAME}}]]
+
<!----CATEGORIES BELOW THIS LINE, PLEASE:---->
 
+
[[Category:String manipulation templates]]
 +
}}
 
</includeonly>
 
</includeonly>

Latest revision as of 08:33, 5 December 2016

Template:Used in system
Gnome-utilities-terminal.svg This template uses (or will be using) Lua programming language.

Please see Wikipedia:Lua if you want to learn more about Lua or help convert other templates.

This is the {{str len}} meta-template.

It takes a string as parameter and returns its length (excluding spaces at the start and end). It can now count as high as necessary.

Examples[edit]

If the parameter is empty or undefined it is considered to be of zero length:

{{str len}} returns 0
{{str len|}} returns 0
{{str len| }} returns 0

It counts the length correctly, even if the string contains spaces, looks like a number, or contains special characters:

{{str len| ab cde }} returns 6
{{str len| 1234567 }} returns 7
{{str len| café åäö }} returns 8
{{str len| 499-characters... }} returns 499
{{str len| 1000-characters... }} returns 500

Template data[edit]

This is the TemplateData documentation for this template used by VisualEditor and other tools.

Str len

The template takes a string as parameter and returns its length, excluding spaces at the start and end of the string

Template parameters

ParameterDescriptionTypeStatus
Alpha-numeric text1

The string to be counted

Default
empty
Example
empty
Auto value
empty
Stringrequired

Technical details[edit]

This is the first general-purpose template to be implemented using mw:Extension:Scribunto. The Lua code is located in Module:String.

See also[edit]