Check if a country code is in a list of approved countries.
← Collections and Data Structures · Ref: Q1159
Use the contains operator on a List:
if approved contains countryCode stdout.println("Approved")
The 'contains' operator checks whether a value exists in a List or Dict. For List, it checks element membership. For Dict, it checks key existence. See Q45 for List basics. See Q129 for Dict contains.
Example
#!ek9 defines module qa.collections.listcontains defines program ListContainsDemo() stdout <- Stdout() approved <- ["GB", "US", "DE", "FR", "JP"] // Check membership with contains operator countryCode <- "GB" if approved contains countryCode stdout.println(`${countryCode} is approved`) // Check a code that is not in the list unknownCode <- "ZZ" if not (approved contains unknownCode) stdout.println(`${unknownCode} is not approved`) // Check multiple codes candidates <- ["US", "BR", "FR", "CN"] for candidate in candidates if approved contains candidate stdout.println(`${candidate}: approved`) else stdout.println(`${candidate}: rejected`)
Common mistakes
E07620 — 'contains' on a List of String is not defined for an Integer operand — the argument must match the element type. See ek9 -h E07620 for details.
Incorrect:
if approved contains 42
Correct:
if approved contains countryCode
Other ways to ask this
- Write code to check list membership in EK9
- I have a list of valid codes and need to verify a value is in that list
- Given a list of approved strings, determine if a candidate is present
- In Java I'd use list.contains(). Write the EK9 equivalent
Coming from another language?
Java: list.contains(item). Python: item in list. Rust: vec.contains(&item). Go: manual loop (no built-in). JavaScript: array.includes(item). EK9: list contains item — operator syntax, not method call.
Keywords: approved, check, collection, contains, in, list, lookup, membership