PhixFlow Help

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Current »


Function: addElement()

Adds a value to the end of a list and returns the list. If the list provided is empty (that is, list is the empty list [ ], or the value  _NULL ), the list returned will contain a single value: [value].

Syntax

addElement(listvalue)

ArgumentTypeDescription
listAnyThe list to which value should be added. If this argument is a variable which evaluates to null then a new list will be returned containing only value. If this argument is not a list but a single value then a new list will be returned containing this argument and value.
valueAnyThe item that should be added to list

Examples

addElement([ ], 4)

Adds 4 as a new entry in an empty list, and returns the result: [ 4 ].

addElement($list, $value)

Adds $value as a new entry at the end of $list, and returns the list. 

Often it is helpful to iterate over an existing list in order to build a new list, as in the following example:

forEach($name, in.name, if ($name != _NULL, addElement($usableNames, $name) ) )

Using the forEach function we go through every name provided in the variable in.name. We want to get a list of all the names which are not null, so for each one we test the value using the condition $name != _NULL. If the name is not null, we add it to a list called $usableNames using addElement().

ifNull(in.rate, addElement($errors,"Missing rate value"))

If in.rate is not found then an error message is added to a list of errors found so far. An If() condition is a useful way of building up a list of problems which are found as a Stream is processed.

listToString() can be used to format a list (of errors, say) into a string that can be recorded in a string-valued field on a stream record.

Given a list like

$errors = ["Bad input", "Missing rate value"],

listToString($errors, "\n") and listToString($errors, ", ") will generate output strings like:


"Bad input

Missing rate value"


and


"Bad input, Missing rate value" 

respectively.


See Also

  • No labels