Skip to main content

More List Functions

Additional functions for working with lists:

  • $ListValid determines whether a string is a list.

  • $ListFromString returns a list built from a delimited string.

  • $ListToString returns a delimited string built from a list.

  • $ListSame compares 2 lists item by item, and returns 1 if they are identical, 0 otherwise.

  • $ListNext advances sequentially from one list item to the next, returning 1 when it advances and 0 when it reaches the end. It also changes the values of its second and third arguments to the list position and item value at that position, respectively.

  • Set $ListBuild sets a list of variables to the items of a list. You can think of it as "un-build a list."

Terminal


USER>set addr = "One Memorial Drive", city = "Cambridge"

USER>set st = "MA", zip = "02142"

USER>set Pmail = addr _ "^" _ city _ "^" _ st _ "^" _ zip

USER>set Lmail = $listfromstring(Pmail, "^")

USER>write $listvalid(Lmail)
1
USER>write $listvalid(Pmail)
0
USER>write $list(Lmail, 2)
Cambridge
USER>write $listlength(Lmail)
4
USER>write $listfind(Lmail, "MA")
3
USER>set Pmail = $listtostring(Lmail, "*")

USER>write Pmail
One Memorial Drive*Cambridge*MA*02142
USER>set Lmail2 = $listbuild("One Memorial Drive", "Cambridge", "MA", "02141")

USER>write $listsame(Lmail, Lmail2)  // not the same because of different zip
0
USER>set p = 0 while $listnext(Lmail, p, value) {write !, value}
One Memorial Drive
Cambridge
MA
02142
USER>set $listbuild(addr2, city2, st2, zip2) = Lmail2

USER>write addr2, !, city2, !, st2, !, zip2
One Memorial Drive
Cambridge
MA
02141
USER>
FeedbackOpens in a new tab