The Name Game: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) 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}}== |