الگو:Str ≥ len/doc: تفاوت میان نسخه‌ها

    از ویکی‌نور
    fa>GKFX
    (mark high-use)
     
    جز (۱ نسخه واردشده)
     
    (بدون تفاوت)

    نسخهٔ کنونی تا ‏۳ ژانویهٔ ۲۰۲۳، ساعت ۲۳:۱۴

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

    It helps other templates check if a string is "longer or equally long" vs. "shorter" than a given length.

    Usage

    This template takes 3 to 4 unnamed parameters.

    Here is how to check if the string "abcde" is 4 characters or more:

    {{str ≥ len | abcde | 4
    | Equal or longer.
    | Shorter.
    }}
    

    Which returns this:

    Equal or longer.

    Templates have a problem handling parameter data that contains equal signs "=". But that is easily solved by using numbered parameters. Here we check if the string "ab=cde" is 100 characters or more:

    {{str ≥ len 
    | 1 = ab=cde 
    | 2 = 100
    | 3 = Equal "=" or longer.
    | 4 = Shorter, not "=".
    }}
    

    Which returns this:

    Shorter, not "=".

    It probably is a good habit to always use the numbered parameters, since you might not know beforehand exactly how the data will look that your template will feed to this meta-template.

    Parameters

    {{str ≥ len 
    | 1 = A string
    | 2 = A length
    | 3 = Data to return/render when "longer than or equally long".
    | 4 = Data to return/render when "shorter than".
    }}
    

    Empty or undefined strings are considered to be of 0 length.

    Length values below 0 are considered to be 0.

    Technical details

    The potential alternative templates names {{str >= len}} or (for the opposite) {{str < len}} do not work in MediaWiki.

    Templates have problems to handle parameter data that contains pipes "|", unless the pipe is inside another template {{name|param1}} or inside a piped link [[Help:Template|help]]. Thus templates can not handle wikitables as input unless you escape them by using the {{!}} template. This makes it hard to use wikitables as parameters to templates. Instead the usual solution is to use "HTML wikimarkup" for the table code, which is more robust.

    See also