The Name Game: Difference between revisions
Content added Content deleted
(Added Kotlin) |
(added Factor) |
||
Line 47: | Line 47: | ||
Fee-fi-mo-melix |
Fee-fi-mo-melix |
||
Felix! |
Felix! |
||
=={{header|Factor}}== |
|||
{{trans|Kotlin}} |
|||
<lang factor>USING: ascii combinators interpolate kernel locals pair-rocket |
|||
qw sequences ; |
|||
IN: rosetta-code.name-game |
|||
: vowel? ( char -- ? ) "AEIOU" member? ; |
|||
:: name-game ( Name -- ) |
|||
Name first :> L |
|||
Name >lower :> name! L vowel? [ name rest name! ] unless |
|||
"b" :> B! |
|||
"f" :> F! |
|||
"m" :> M! |
|||
L { CHAR: B => [ "" B! ] |
|||
CHAR: F => [ "" F! ] |
|||
CHAR: M => [ "" M! ] [ drop ] } case |
|||
Name Name B name F name M name Name |
|||
"${0}, ${1}, bo-${2}${3} |
|||
Banana-fana fo-${4}${5} |
|||
Fee-fi-mo-${6}${7} |
|||
${8}!\n\n" 9 ninterpolate ; |
|||
qw{ Gary Earl Billy Felix Milton Steve } [ name-game ] each</lang> |
|||
{{out}} |
|||
<pre> |
|||
Gary, Gary, bo-bary |
|||
Banana-fana fo-fary |
|||
Fee-fi-mo-mary |
|||
Gary! |
|||
Earl, Earl, bo-bearl |
|||
Banana-fana fo-fearl |
|||
Fee-fi-mo-mearl |
|||
Earl! |
|||
Billy, Billy, bo-illy |
|||
Banana-fana fo-filly |
|||
Fee-fi-mo-milly |
|||
Billy! |
|||
Felix, Felix, bo-belix |
|||
Banana-fana fo-elix |
|||
Fee-fi-mo-melix |
|||
Felix! |
|||
Milton, Milton, bo-bilton |
|||
Banana-fana fo-filton |
|||
Fee-fi-mo-ilton |
|||
Milton! |
|||
Steve, Steve, bo-bteve |
|||
Banana-fana fo-fteve |
|||
Fee-fi-mo-mteve |
|||
Steve! |
|||
</pre> |
|||
=={{header|Kotlin}}== |
=={{header|Kotlin}}== |