| def numChars (s : String) : Nat := | |
| go s.iter | |
| where | |
| go (i : String.Legacy.Iterator) : Nat := | |
| if h : i.hasNext then | |
| go i.next + 1 | |
| else | |
| 0 | |
| #guard numChars "aαc" == 3 | |
| example : numChars "aαc" = 3 := by native_decide | |
| def numChars2 (s : String) : Nat := | |
| go s.iter | |
| where | |
| go (i : String.Legacy.Iterator) : Nat := | |
| match h : i.hasNext with | |
| | true => go i.next + 1 | |
| | false => 0 | |
| example : numChars2 "aαc" = 3 := by native_decide |