Maximum (NamedArraylist function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
m (match syntax table to diagram, tags and edits)
Line 1: Line 1:
{{Template:NamedArraylist:Maximum subtitle}}
{{Template:NamedArraylist:Maximum subtitle}}


This function returns the name (subscript) of the NamedArraylist item that has
<var>Maximum</var> function returns the name (subscript) of the <var>NamedArraylist</var> item that has the maximum numeric value after the application of a specified function to each item. The function applied to each <var>NamedArraylist</var> item, which you specify with the required <var class="term">itemFunction</var> argument, must be a method that operates on the item type and returns a User Language [[Intrinsic classes|intrinsic]] datatype (<var>Float</var>, <var>String</var>, <var>Longstring</var>, or <var>Unicode</var>) value.
the maximum numeric value after the application of a specified function to
each item.
The function that gets applied to each NamedArraylist item, which
you identify in the argument to Maximum, must be a method
that operates on the item type and returns a User Language intrinsic
datatype (Float, String, Longstring, or Unicode) value.


The system intrinsic classes are discussed in [[Intrinsic classes|"Intrinsic classes"]].
Local methods are discussed in [[??]] refid=localm..
Maximum is available in ''Sirius Mods'' version 7.3 and later.
==Syntax==
==Syntax==
{{Template:NamedArraylist:Maximum syntax}}
{{Template:NamedArraylist:Maximum syntax}}
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%str</th>
<tr><th>%string</th>
<td>A string variable to contain the subscript name of the item in the indicated NamedArraylist that has the maximum value after the argument function has been applied. </td></tr>
<td>A string variable to contain the subscript name of the item in the indicated <var>NamedArraylist</var> that has the maximum value after the argument function has been applied.</td></tr>
<tr><th>%namrayl</th>
<tr><th>nal</th>
<td>A NamedArraylist object. </td></tr>
<td>A <var>NamedArraylist</var> object. </td></tr>
<tr><th>function</th>
<tr><th>itemFunction</th>
<td>A method value (a method name literal, a method variable, or even a method that returns a method value) for a method that operates on objects of the type specified on the ''%narrayl'' declaration and that returns a numeric or string value.
<td>A method value (a method name literal, a method variable, or even a method that returns a method value) of the method that operates on objects of the type specified on the <var class="term">nal</var> declaration and that returns a numeric or string value.
 
<p>As of <var class="product">"Sirius Mods"</var> Version 7.6, the special identity function, <var>This</var>, is the default <var class="term">itemFunction</var> value for the <var>Maximum</var> and <var>Minimum</var> methods. See [[Collections#Using the This function as the Maximum parameter|"Using the This function as the Maximum parameter"]].</p></td></tr>
As of ''Sirius Mods'' version 7.6, the special identity function, <tt>This</tt>, is the default ''function'' value for the Maximum and Minimum methods. See [[Collections#Using the This function as the Maximum parameter|"Using the This function as the Maximum parameter"]].</td></tr>
</table>


</table>
==Usage notes==
==Usage notes==
<ul>
<ul><li>If the function applied by <var>Maximum</var> returns string values, <var>Maximum</var> uses the decimal-equivalent value of the character bytes and determines the number of the item that has the greatest value. Lowercase letters are first ranked alphabetically; then uppercase letters, also ranked alphabetically; finally followed by the numbers; that is: <code>'a'..'z','A'..'Z',0..9</code>.
<li>If the function applied by Maximum returns string values, Maximum
<li>If two or more <var>NamedArraylist</var> items have equal, maximum, values, <var>Maximum</var> returns the position of the item that appears closest to the beginning of the <var>NamedArraylist</var>.
uses the decimal-equivalent value of the character bytes and determines
<li>The parameter for <var>Maximum</var> is a method value, not a User Language expression. That is, you cannot provide a function that itself has an argument (say, <var>[[ToIntegerPower and ToPower (Float functions)|ToIntegerPower(2)]]</var>) as the <var>Maximum</var> parameter. The [[Maximum (Arraylist function)|"Maximum/Minimum with local method"]] example shows a way to apply <var>[[ToIntegerPower and ToPower (Float functions)|ToIntegerPower]]</var> with <var>Maximum</var>.
the number of the item that has the greatest value.
<li><var>Maximum</var> is available in <var class="product">[[Sirius Mods|"Sirius Mods"]]</var> Version 7.3 and later.
Therefore, lowercase letters are ranked alphabetically and
the maximum lowercase letter is "z";
the uppercase letters are ranked alphabetically and
the maximum uppercase letter is "Z";
"z" ranks lower than all the uppercase letters;
and all letters rank lower than any number.
<li>If two or more NamedArraylist items have equal, maximum, values,
Maximum returns the name of the item that appears closest to the beginning
of the NamedArraylist.
<li>The parameter for Maximum is a method value, not a User Language expression.
That is, you cannot provide a function that itself has an argument
(say, <tt>ToIntegerPower(2)</tt>) as the Maximum parameter.
Example [[Maximum (Arraylist function)|"Maximum/Minimum with local method"]] shows a way to apply ToIntegerPower
with Maximum for an Arraylist.
<li>The [[Minimum (NamedArraylist function)|Minimum]] function is the opposite of the Maximum function.
</ul>
</ul>
==Examples==
==Examples==
<ol><li>The following request uses the special method, <var>This</var>, to find the maximum and minimum items in this familiar <var>NamedArraylist</var>. 
For more information about using <var>This</var>, see [[Collections#Using the This function as the Maximum parameter|"Using the This function as the Maximum parameter"]].


The following request uses the special method, <tt>This</tt>,
<p class="code">begin
to find the maximum and minimum items in this familiar NamedArraylist.
  %nalist is collection NamedArraylist of longstring
For more information about using <tt>This</tt>, see [[Collections#Using the This function as the Maximum parameter|"Using the This function as the Maximum parameter"]].
  %nalist = new
For more examples with Maximum and Minimum for collections, see [[Collections#Finding collection maxima and minima, and sorting|"Finding collection maxima and minima, and sorting"]].
  %nalist:useDefault = true
<p class="code">b
  %nalist('Idle') = 'Eric'
 
  %nalist('Cleese') = 'John'
%nalist is collection NamedArraylist of longstring
  %nalist('Gilliam') = 'Terry'
%nalist = new
  %nalist('Pallin') = 'Michael'
%nalist:useDefault = true
  %nalist('Chapman') = 'Graham'
%nalist('Idle') = 'Eric'
%nalist('Cleese') = 'John'
%nalist('Gilliam') = 'Terry'
%nalist('Pallin') = 'Michael'
%nalist('Chapman') = 'Graham'
 
PrintText {~} is item {%nalist:maximum(this)}
PrintText {~} is item {%nalist:minimum(this)}


  [[PrintText statement|printText]] {~} is item {%nalist:maximum(this)}
  PrintText {~} is item {%nalist:minimum(this)}
end
end
</p>
</p>
Line 75: Line 46:
%nalist:minimum(this) is item Idle
%nalist:minimum(this) is item Idle
</p>
</p>
<li>For more examples with Maximum and Minimum for collections, see [[Collections#Finding collection maxima and minima, and sorting|"Finding collection maxima and minima, and sorting"]].
</ol>
==See also==
==See also==
<ul><li>The [[Minimum (NamedArraylist function)|Minimum]] function is the opposite of the Maximum function.</ul>
{{Template:NamedArraylist:Maximum footer}}
{{Template:NamedArraylist:Maximum footer}}

Revision as of 10:24, 8 March 2011

Name of item with maximum value or maximum value of function applied to items (NamedArraylist class)


Maximum function returns the name (subscript) of the NamedArraylist item that has the maximum numeric value after the application of a specified function to each item. The function applied to each NamedArraylist item, which you specify with the required itemFunction argument, must be a method that operates on the item type and returns a User Language intrinsic datatype (Float, String, Longstring, or Unicode) value.

Syntax

%string = nal:Maximum[( [itemFunction])]

Syntax terms

%string A string variable to contain the subscript name of the item in the indicated NamedArraylist that has the maximum value after the argument function has been applied.
nal A NamedArraylist object.
itemFunction A method value (a method name literal, a method variable, or even a method that returns a method value) of the method that operates on objects of the type specified on the nal declaration and that returns a numeric or string value.

As of "Sirius Mods" Version 7.6, the special identity function, This, is the default itemFunction value for the Maximum and Minimum methods. See "Using the This function as the Maximum parameter".

Usage notes

  • If the function applied by Maximum returns string values, Maximum uses the decimal-equivalent value of the character bytes and determines the number of the item that has the greatest value. Lowercase letters are first ranked alphabetically; then uppercase letters, also ranked alphabetically; finally followed by the numbers; that is: 'a'..'z','A'..'Z',0..9.
  • If two or more NamedArraylist items have equal, maximum, values, Maximum returns the position of the item that appears closest to the beginning of the NamedArraylist.
  • The parameter for Maximum is a method value, not a User Language expression. That is, you cannot provide a function that itself has an argument (say, ToIntegerPower(2)) as the Maximum parameter. The "Maximum/Minimum with local method" example shows a way to apply ToIntegerPower with Maximum.
  • Maximum is available in "Sirius Mods" Version 7.3 and later.

Examples

  1. The following request uses the special method, This, to find the maximum and minimum items in this familiar NamedArraylist. For more information about using This, see "Using the This function as the Maximum parameter".

    begin %nalist is collection NamedArraylist of longstring %nalist = new %nalist:useDefault = true %nalist('Idle') = 'Eric' %nalist('Cleese') = 'John' %nalist('Gilliam') = 'Terry' %nalist('Pallin') = 'Michael' %nalist('Chapman') = 'Graham' printText {~} is item {%nalist:maximum(this)} PrintText {~} is item {%nalist:minimum(this)} end

    The result is:

    %nalist:maximum(this) is item Gilliam %nalist:minimum(this) is item Idle

  2. For more examples with Maximum and Minimum for collections, see "Finding collection maxima and minima, and sorting".

See also

  • The Minimum function is the opposite of the Maximum function.