aboutsummaryrefslogtreecommitdiff
path: root/games/syl
diff options
context:
space:
mode:
Diffstat (limited to 'games/syl')
-rwxr-xr-xgames/syl18
1 files changed, 18 insertions, 0 deletions
diff --git a/games/syl b/games/syl
new file mode 100755
index 00000000..85f68625
--- /dev/null
+++ b/games/syl
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+word=$1
+syls=0
+vs=0
+for ((i=0;i<${#word};i++)); do
+ if [[ ${word:i:1} == [aeiouy] ]] ; then
+ ((vs!=1)) && ((syls++))
+ ((vs++))
+ else
+ ((vs=0))
+ fi
+done
+case $word in
+ *[aeiou][^aeiou]e|*ed)
+ ((syls > 1)) && ((syls--))
+ ;;
+esac
+printf '%u\n' "$syls"