This version is out of date, covering development from v9.5.0 to v9.7.3. It is maintained here only for inbound reference links from elsewhere. It is no longer actively updated.

Jump to the current version of aTbRef

Tinderbox v9 Icon

Querying Lists and Sets

Testing (querying) lists and sets

Testing lists/sets, the contains operator, syntax AttributeName.contains("regex"), returns true if a list/set contains an exact match for the the designated regex; the test is case sensitive regardless of agent query case sensitivity settings; regex matches are not supported. If user attribute PetTypes has a value of [dogs;cats] then either

$PetTypes.contains("dogs") is true,

but

$PetTypes.contains("dog") is false 

as 'dog' is an incomplete value match.

It can be useful to use a stored value as the search regex, for instance using the name of an agent as the search term. However, the following will not work or an agent named 'dogs':

$PetTypes.contains($Name) WRONG!

Instead, use the evaluated result of the above via a rule or some other action code. Thus, in an agent's Rule box, enter:

$AgentQuery='$PetTypes.contains("'+$Name+'")' 

…which results in a query of:

$PetTypes.contains("dogs") 

See Set Attributes for more on Sets.