summary refs log tree commit diff stats
path: root/examples/allany.nim
blob: 8a5ab81f05cf2660fbd4e50a5212ac56b3de2c83 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# All and any

template all(container, cond: untyped): bool =
  var result = true
  for it in items(container):
    if not cond(it):
      result = false
      break
  result

template any(container, cond: untyped): bool =
  var result = false
  for it in items(container):
    if cond(it):
      result = true
      break
  result

if all("mystring", {'a'..'z'}.contains) and any("myohmy", 'y'.`==`):
  echo "works"
else:
  echo "does not work"