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,


$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:


…which results in a query of:


See Set Attributes for more on Sets.