index(): read one item safely by position
Easy
Return the item at ri!position. When that position does not exist, return "none" rather than failing.
Positions count from 1, and the list may be empty.
Inputs
ri!items: List of Textri!position: Integer
ri! Rule Inputs
ri!itemsList of Text{
"a",
"b",
"c"
}ri!positionInteger2
Example 1: The second item
Input: ri!items
{
"a",
"b",
"c"
}Input: ri!position
2
Expected output:
"b"
Example 2: The first item
Input: ri!items
{
"a",
"b",
"c"
}Input: ri!position
1
Expected output:
"a"
Example 3: Past the end
Input: ri!items
{
"a",
"b"
}Input: ri!position
9
Expected output:
"none"
Example 4: Position zero does not exist
Input: ri!items
{
"a",
"b"
}Input: ri!position
0
Expected output:
"none"
Example 5: An empty list has nothing at any position
Input: ri!items
{}Input: ri!position
1
Expected output:
"none"
Appian Expression Tips
- • Use
ri!variableNamefor rule inputs - • Use
a!localVariables(local!x: …, body)for locals - • Use
a!forEach(items: …, expression: fv!item)to iterate - • Use
where()/reject(fn!isnull, list)to filter