/* -*- LPC -*- */ /* * $Locker: $ * $Id: add_a.c,v 1.5 2001/06/01 21:16:33 ceres Exp $ * $Log: add_a.c,v $ * Revision 1.5 2001/06/01 21:16:33 ceres * bug? * * Revision 1.4 2000/10/04 21:34:07 pinkfish * Make it handle caps. * * Revision 1.3 1998/03/24 07:28:59 pinkfish * Add some docs to make the simulefuns more usefully lookupable. * * Revision 1.2 1998/03/06 11:26:38 pinkfish * Put the vowel stuff in here too. * * Revision 1.1 1998/01/06 05:13:15 ceres * Initial revision * */ /** * Contains some simul_efuns. * @author Pinkfish */ /** * Adds an 'a' or 'an' to a string. Determins if a 'a' or 'an' should be added * based on the ending of the word. If you are doing this on an object you * should probably use a_short or the_short on the object. * * @param s the string to add an a to * * @see /std/basic/desc->a_short() * @see /std/basic/desc->the_short() * @see /std/basic/desc->one_short() */ string add_a(string s) { int i; if (!stringp(s)) return 0; i = 0; while (s[i] == ' ') i++; // Don't add an a or an if it already has one. if(s[i..i+1] == "a " || s[i..i+2] == "an ") return s; switch (s[i]) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'A': case 'E': case 'I': case 'O': case 'U': return "an " + s[i..]; default: return "a " + s[i..]; } } /* add_a() */ /* * What the hell would need this??? */ /** * Determine if the input is a vowel. Is the input integer a vowel? * * @param i the int to check for vowelness * @return 1 if the int is a vowel, 0 if not */ int vowel(int i) { return (i == 'a' || i == 'e' || i == 'i' || i == 'o' || i == 'u' || i == 'A' || i == 'E' || i == 'I' || i == 'O' || i == 'U'); } /* vowel() */