java - lateinit - kotlin static method
¿Por qué este método de Kotlin tiene backticks cerrados? (5)
¿Para qué se usan los backticks en el fragmento de abajo?
¿Por qué agregarlos alrededor de la
fun is(amount:Int ):Boolean { ... }
?
verifier.`is`(amount)
Algunas de las palabras clave de Kotlin son identificadores válidos en Java: in, object, is, etc. Si una biblioteca de Java usa una palabra clave de Kotlin para un método, aún puede llamar al método escapándolo con el carácter de retroceso (`)
El backtick es una "solución" para permitirle llamar a métodos que tienen un nombre que representa una palabra clave Kotlin.
Ver kotlinlang :
Algunas de las palabras clave de Kotlin son identificadores válidos en Java: in, object, is, etc. Si una biblioteca de Java usa una palabra clave de Kotlin para un método, aún puede llamar al método escapándolo con el carácter de retroceso (`)
Es porque
is
una palabra clave reservada en Kotlin.
Dado que se supone que Kotlin es interoperable con Java y
is
un nombre de método (identificador) válido en Java, los backticks se usan para escapar del método para que pueda usarse como un método sin confundirlo como una palabra clave.
Sin él, no funcionará porque sería una sintaxis no válida.
Esto se destaca en la documentación de Kotlin :
Escapar para identificadores Java que son palabras clave en Kotlin
Algunas de las palabras clave de Kotlin son identificadores válidos en Java:
in
,object
,is
, etc. Si una biblioteca de Java usa una palabra clave de Kotlin para un método, aún puede llamar al método escapándolo con el carácter de retroceso (`)
foo.`is`(bar)
Le permite llamar a un método Java cuyo nombre es una palabra clave de Kotlin. No funcionará si dejas de lado los backticks.
is
en la lista de
words
reservadas de Kotlin Para usar la palabra reservada de Kotlin (como
is
u
object
) para el nombre de la función / clase, debe ajustarla a backticks