View/Edit #40:_verb_singular

Switch to edit mode.

Name(s): _verb_singular
1:  if (typeof(st = args[1]) != $STR)
2:    return E_INVARG
3:  endif
4:  len = length(st)
5:  if (len >= 3 && rindex(st, "n't") == len - 2)
6:    return this:_verb_singular(st[1..len - 3], args[2]) + "n't"
7:  elseif (i = st in {"have", "are"})
8:    return this.({"have", "be"}[i])[args[2]]
9:  elseif (st[len] == "y" && !index("aeiou", st[len - 1]))
10:   return st[1..len - 1] + "ies"
11: elseif (index("sz", st[len]) && index("aeiou", st[len - 1]))
12:   return st + st[len] + "es"
13: elseif (index("osx", st[len]) || (len > 1 && index("chsh", st[len - 1..len]) % 2))
14:   return st + "es"
15: else
16:   return st + "s"
17: endif
18: "Last modified by Dax (#789) on Mon Aug  7 21:32:56 2006 MDT."

Verb arguments: this none this
Verb perms: Readable eXecutable NOT-Debug
Verb owned by: Hacker (#60)

You are not logged in.

[home | help | who | search | setup | code]