RosettaCodeData/Task/The-Name-Game/Phix/the-name-game.phix
2026-02-01 16:33:20 -08:00

24 lines
575 B
Text

constant fmt = """
%s, %s, bo-%s
Banana-fana fo-%s
Fee-fi-mo-%s
%s!
"""
procedure printVerse(string name)
string x = lower(name)
integer x1 = upper(x[1]),
vowel = find(x1,"AEIUO")!=0
string y = x[2-vowel..$],
b = 'b'&y, f = 'f'&y, m = 'm'&y
x[1] = x1
switch x1 do
case 'B': b = y
case 'F': f = y
case 'M': m = y
end switch
printf(1,fmt,{x, x, b, f, m, x})
end procedure
constant tests = {"gARY", "Earl", "Billy", "Felix", "Mary", "SHIRley"}
for i=1 to length(tests) do printVerse(tests[i]) end for