Función de extensión booleana

Cuando trato de crear la function de extensión para establecer Boolean verdadero o falso como el de abajo.

Boolean.setTrue(){ this = true } Boolean.setFalse(){ this = false } 

Dice que se espera una variable . Cómo lograr esto

No puede cambiar el valor de esto, esto rompería muchas suposiciones, incluso si pudiera, no podría cambiar el valor, ya que los Booleanos son inmutables.

En términos más generales, hay una línea fina entre simplificar el código y hacerlo más complejo, y en este caso eso lo complicaría. Estoy de acuerdo en que agregar String.splitByDot() puede tener sentido, pero replace el código idiomático tiende a hacer que el código sea más complejo, cuando comienzas a preguntarte por qué el código tuvo que ser reemplazado.

Lo siento, pero esto no tiene sentido. Solo use myBool=false , es lo que cualquiera entiende y no puede ser más legible. También Boolean es inmutable y lo que estás intentando no es posible de todos modos.

Tenemos que tener cuidado de no abusar de las extensiones. Es una de las mejores características que ofrece Kotlin (y otros), pero en ciertos ejemplos, por ejemplo, tratando de cambiar la forma en que se asigna un Boolean simple y muerto, se está volviendo peligroso en mi humilde opinión (afortunadamente no es posible).

La razón por la que no puede hacer esto es porque no puede reasignar el receptor en una function de extensión.

No es posible cambiar el valor de Boolean porque es inmutable.

  • Establecer una extensión de kotlin
  • ¿Cómo se pueden agregar methods estáticos a las classs de Java en Kotlin?
  • Cómo crear variables en el context principal
  • Las funciones de extensión de Kotlin de repente requieren un nivel de api 24
  • Complemento de estudio Android con id: 'kotlin-android-extensions'
  • ¿Por qué Kotlin no me deja usar la extensión writeText?
  • Kotlin: Cómo extender la class enum con una function de extensión
  • While loop en el lenguaje de progtwigción Kotlin
  • ¿Hay alguna diferencia entre "object receptor" y "receptor de extensión"
  • lanza Exception en un método con Kotlin
  • findViewById ClassCastExcpetion