Module:Utils/doc: Difference between revisions

Ganaram inukshuk (talk | contribs)
Partially transfer function descriptions to module introspection
Revert for readability (see talk)
 
(5 intermediate revisions by one other user not shown)
Line 6: Line 6:
For pairs of functions with names that differ by a single leading underscore (for example, <code>gcd</code> and <code>_gcd</code>), the function ''with'' an underscore is meant to be called by other modules, and the function ''without'' an underscore can be used with <code>#invoke</code>.
For pairs of functions with names that differ by a single leading underscore (for example, <code>gcd</code> and <code>_gcd</code>), the function ''with'' an underscore is meant to be called by other modules, and the function ''without'' an underscore can be used with <code>#invoke</code>.


{{Module introspection
{{Module introspection}}
| desc_trim = Removes leading and trailing whitespaces (but not interior ones) from a string.
| desc_yesno = Wrapper function for [[Module:Yesno]], for use with templates. }}


=== Functions ===
=== Functions ===
; <code>trim(s)</code>
: Removes leading and trailing whitespaces (but not interior ones) from a string.


; <code>_yesno(frame)</code>
: Wrapper function for [[Module: Yesno]], for use with templates. (Module: Yesno does not have a corresponding template.)


; <code>_clamp(val, min_val, max_val)</code>
; <code>_clamp(value, min_value, max_value)</code>
: Returns <code>val</code> such that it's between <code>min_val</code> and <code>max_val</code>.
: Returns <code>value</code> such that it is between <code>min_value</code> and <code>max_value</code>.


; <code>table_contains(tbl, value, compare_func)</code> *
; <code>table_contains(tbl, value, compare_func)</code> *
: Checks whether table <code>tbl</code> contains <code>value</code>. Passing in <code>compare_func</code> is optional; if <code>value</code> is a table and <code>tbl</code> a table of tables, pass in a comparison function <code>compare_func</code>, which returns <code>true</code> if <code>value</code> and an element in <code>tbl</code> have the same value.{{clarify}}
: Checks whether table <code>tbl</code> contains <code>value</code> and returns <code>true</code> (if found) or <code>false</code> if not found. Passing <code>compare_func</code> is optional; By default, <code>value</code> is a numeric value or a string; to check for other values, such as ratios defined by [[Module: Rational]], a comparison function <code>compare_func</code> must be passed in.


; <code>index_of(array, value, compare_func)</code> *
; <code>index_of(array, value, compare_func)</code> *
: Returns the first index with the given <code>value</code> (or nil if not found). Passing in <code>compare_func</code> is optional; if <code>value</code> is a table and <code>tbl</code> a table of tables, pass in a comparison function <code>compare_func</code>, which returns <code>true</code> if <code>value</code> and an element in <code>tbl</code> have the same value.{{clarify}}
: Returns the first index with the given <code>value</code> (or nil if not found). Passing <code>compare_func</code> is optional. By default, <code>value</code> is a numeric value or a string; to check for other values, such as ratios defined by [[Module:Rational]], a comparison function <code>compare_func</code> must be passed in.  


; <code>value_provided(s)</code> *
; <code>value_provided(s)</code> *
: Checks if <code>s</code> is a non-empty string.
: Checks whether <code>s</code> is a non-empty string.


; <code>eval_num_arg(input, def_value)</code> *
; <code>eval_num_arg(input, def_value)</code> *
Line 30: Line 32:
; <code>log(x, b)</code>
; <code>log(x, b)</code>
: Returns the logarithm base <code>b</code> of <code>x</code>. Parameter <code>b</code> defaults to base 2 (octave) if it is omitted.
: Returns the logarithm base <code>b</code> of <code>x</code>. Parameter <code>b</code> defaults to base 2 (octave) if it is omitted.
; <code>log2(x)</code>
: Returns the base-2 logarithm of <code>x</code>.


; <code>gcd(a, b)</code>
; <code>gcd(a, b)</code>