この記事はKotlin Advent Calendar2016の8日目の記事です。
難読化
Kotlinでは`で囲うことで半角スペースなどの特殊文字を名前に含めることができます。
残念ながらAndroidプロジェクトではエラーになり使用できませんが、テストメソッド名などでは重宝するでしょう。
@Test fun `4 + 2 = 6`() {
assertEquals(6, 4 + 2)
}
変数名、関数名、パラメーター名に使用できます。
val `f o o` = 1
fun `b a r`(`b a z`: Int) {}
半角スペースのみの命名も可能です。
val ` ` = 1
infix
にも使用できるので、以下のような難読コードを書くこともできます。
class ExampleUnitTest {
val Int.` `: Int get() = this + 1
infix fun Int.` `(` `: Int) = this + ` `
@Test fun ` `() {
val ` ` = 1
assertEquals(3, ` `.` ` ` ` ` `)
}
}