Josh Skeen, David Greenhalgh著『Kotlinプログラミング』には章末問題がある。残念なことに解答がないので、第4章に引き続き本を読み進めながら答案を記述する。
もし回答に間違いや意見があれば、ぜひご指摘いただきたい。
第7章 章末問題 回答案
7.6 チャレンジ! DragonSpeakの改善
toDragonSpeakを大文字に対応させる。
本書p112のリスト7-5に示されたtoDragonSpeak()関数を次のリストのように変更する。
正規表現Regex()関数が受け取る検索パターン引数を大文字にも対応するように"[aeiouAEIOU]"に変更し、when式の->演算子の右側にコンマで対応する大文字を追加した。
Tavern.kt
private fun toDragonSpeak(phrase: String) = phrase.replace(Regex("[aeiouAEIOU]")){
when (it.value){
"a","A" -> "4"
"e","E" -> "3"
"i","I" -> "2"
"o","O" -> "1"
"u","U" -> "|_|"
else -> it.value
}
}