The Name Game: Difference between revisions

Content added Content deleted
m (→‎{{header|Perl 6}}: Oops, left out test case. Added.)
(Added Kotlin)
Line 47: Line 47:
Fee-fi-mo-melix
Fee-fi-mo-melix
Felix!
Felix!

=={{header|Kotlin}}==
<lang scala>// version 1.2.31

fun printVerse(name: String) {
var x = name.toLowerCase().capitalize()
var y = if (x[0] in "AEIOU") x.toLowerCase() else x.substring(1)
var b = "b$y"
var f = "f$y"
var m = "m$y"
when (x[0]) {
'B' -> b = "$y"
'F' -> f = "$y"
'M' -> m = "$y"
else -> {} // no adjustment needed
}
println("$x, $x, bo-$b")
println("Banana-fana fo-$f")
println("Fee-fi-mo-$m")
println("$x!\n")
}

fun main(args: Array<String>) {
listOf("Gary", "Earl", "Billy", "Felix", "Mary", "Steve").forEach { printVerse(it) }
}</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!

Mary, Mary, bo-bary
Banana-fana fo-fary
Fee-fi-mo-ary
Mary!

Steve, Steve, bo-bteve
Banana-fana fo-fteve
Fee-fi-mo-mteve
Steve!
</pre>


=={{header|Perl 6}}==
=={{header|Perl 6}}==