List (Stringlist function)

From m204wiki
Revision as of 07:25, 26 January 2011 by Goff (talk | contribs) (syntax digram, tags and links)
Jump to navigation Jump to search

Construct a new Stringlist from list of strings (Stringlist class)


This shared function is a virtual constructor, or factory method, for sStringlists. The List method invokes the creation of a new stringlist instance, then populates that instance with items that are, respectively, the values of the method arguments.

Syntax

%newList = [%(Stringlist):]List( itemList)

Syntax terms

%newlist A declared or existing stringlist object.
itemlist A comma-delimited set of strings, each of which, from left to right, becomes an item in the resultant new stringlist, %newlist.

Usage notes

  • list requires at least one argument, which may be null.
  • If an existing stringlist is set to receive the result of list, then any existing item(s) in that stringlist are entirely removed before the new item(s) are added.
  • The maximum number of itemlist values is 62.
  • See factory methods for more information.

Examples

  • List is a constructor and as such can be called with no method object, with an explicit class name, or with an object variable, even if that object is null:

    %sl = List(itemlist) %sl = %(Stringlist):List(itemlist) %sl = %sl2:List(itemlist)

  • The following list method call creates a new stringlist instance whose three items are, respectively, the strings Moe, Larry, and Curly:

    %sl is object stringlist %sl = list('Moe', 'Larry', 'Curly')

  • You can use the list method in contexts where a stringlist is a method parameter. For example, the Run method of the daemon class takes a stringlist object as an argument. A list method call can be used for such an argument, as shown below:

    %d is object daemon ... %d:run(%(stringlist):list('*LOWER', 'b', - 'printText Whatever', 'printText More', 'end')):print

    It is necessary above to specify the class %(Stringlist): preceding the keyword list, because strings are also valid in the first argument for Run, and list; without a qualifier it could be interpreted as a field called list.
  • However, cases where a stringlist argument is expected, you can specify the List keyword without a qualifier. For example, a user method called Stuffit takes a stringlist input:

    %foo:stuffit(list('Hickory', 'Dickory', 'Doc'))