This version is out of date, covering development from v8.0.0 to v8.x.x. 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 v8 Icon

Querying Lists and Sets

Testing (querying) lists and sets

Testing lists/sets, the contains operator, syntax AttributeName.contains("pattern"), returns true if a list/set contains an exact match for the the designated pattern; 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 pattern, 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.



A Tinderbox Reference File : Agent & Queries : Querying Lists and Sets