if ステートメントで、when 式に置換できるものを報告します。
例:
fun checkIdentifier(id: String) {
fun Char.isIdentifierStart() = this in 'A'..'z'
fun Char.isIdentifierPart() = isIdentifierStart() || this in '0'..'9'
if (id.isEmpty()) {
print("Identifier is empty")
} else if (!id.first().isIdentifierStart()) {
print("Identifier should start with a letter")
} else if (!id.subSequence(1, id.length).all(Char::isIdentifierPart)) {
print("Identifier should contain only letters and numbers")
}
}
クイックフィックスを使用すると、if 式が when 式に変換されます。
fun checkIdentifier(id: String) {
fun Char.isIdentifierStart() = this in 'A'..'z'
fun Char.isIdentifierPart() = isIdentifierStart() || this in '0'..'9'
when {
id.isEmpty() -> {
print("Identifier is empty")
}
!id.first().isIdentifierStart() -> {
print("Identifier should start with a letter")
}
!id.subSequence(1, id.length).all(Char::isIdentifierPart) -> {
print("Identifier should contain only letters and numbers")
}
}
}