Défi
Écrivez une fonction qui prend un argument qui est un verbe et retourne le passé du verbe. (Supposons que le verbe soit régulier)
Passé
Remarque: considérez y comme ni consonne ni voyelle.
Normalement, il suffit d'ajouter ed après la fin du verbe fait le passé du verbe.
Ex: jump→ jumped,ask →asked
Cependant, il existe d'autres règles.
Si le dernier caractère du verbe donné est
e, ajoutez simplementd.Ex:
love→loved,move→movedSi le verbe se termine par une consonne +
y, passezyàiet ajoutezed.Ex:
study→studied,cry→criedCependant, si le verbe se termine par une voyelle +
y, ajoutez simplemented.Ex:
play→played,stay→stayedSi un verbe se termine par une voyelle et une consonne, écrivez la consonne une fois de plus et ajoutez
ed.Ex:
stop→stopped,plan→plannedCependant, si un verbe se termine par plusieurs voyelles + une consonne ou une voyelle unique + plusieurs consonnes, ajoutez simplement
ed.Ex:
look→looked,jump→jumped
Il y a plus de règles mais attention aux règles ci-dessus uniquement. Par exemple, selon la règle ci-dessus, visit→visitted .
Gagnant
Puisqu'il s'agit de code golf, le code le plus court qui renvoie correctement les temps passés gagne.
Exemple (JS, 127)
function f(x){return x.replace(/([^aeiouy])y$/,'$1i').replace(/([^aeiouy][aeiou])([^aeiouy])$/,'$1$2$2').replace(/e$/,'')+'ed'}