Count how many vowels and consonants occur in a string: Difference between revisions
Content added Content deleted
(→{{header|Ring}}: simplified, removed unnecessary library dependency and chance of mis-tabulation of characters after "Z" and before "a") |
Alextretyak (talk | contribs) (Added 11l) |
||
Line 7: | Line 7: | ||
<br><br> |
<br><br> |
||
=={{header|11l}}== |
|||
{{trans|Python}} |
|||
<lang 11l>F isvowel(c) |
|||
‘ true if c is an English vowel (ignore y) ’ |
|||
R c C [‘a’, ‘e’, ‘i’, ‘o’, ‘u’, ‘A’, ‘E’, ‘I’, ‘O’, ‘U’] |
|||
F isletter(c) |
|||
‘ true if in English standard alphabet ’ |
|||
R c C ‘a’..‘z’ | c C ‘A’..‘Z’ |
|||
F isconsonant(c) |
|||
‘ true if an English consonant ’ |
|||
R !isvowel(c) & isletter(c) |
|||
F vccounts(s) |
|||
‘ case insensitive vowel counts, total and unique ’ |
|||
V a = Array(s.lowercase()) |
|||
V au = Set(a) |
|||
R (sum( a.map(c -> Int(isvowel(c)))), sum( a.map(c -> Int(isconsonant(c)))), |
|||
sum(au.map(c -> Int(isvowel(c)))), sum(au.map(c -> Int(isconsonant(c))))) |
|||
V s = ‘Now is the time for all good men to come to the aid of their country.’ |
|||
V (vcnt, ccnt, vu, cu) = vccounts(s) |
|||
print(‘String: ’s"\n Vowels: "vcnt‘ (distinct ’vu")\n Consonants: "ccnt‘ (distinct ’cu‘)’)</lang> |
|||
{{out}} |
|||
<pre> |
|||
String: Now is the time for all good men to come to the aid of their country. |
|||
Vowels: 22 (distinct 5) |
|||
Consonants: 31 (distinct 13) |
|||
</pre> |
|||
=={{header|Action!}}== |
=={{header|Action!}}== |