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.

  • Kotlin: ¿funciones de extensión y types de plataforma?
  • ¿Por qué Kotlin no me deja usar la extensión writeText?
  • Kotlin - Extensión para la class final
  • ¿Cómo hacer reference a la class interna anónima en Kotlin?
  • Método de extensión de Kotlin como alias para el nombre de método largo?
  • Cómo crear variables en el context principal
  • Genéricos para RecyclerView.Adapter Android
  • ¿Cómo verificar la class "instanceof" en kotlin?
  • ¿Los methods de extensión y las properties de extensión son malas prácticas?
  • ¿Cómo extiendo la class Kotlin Number o uso generics para crear un getter de propiedad simple que operará en todas las subclasss Number?
  • Problema con el método de extensión en el script de Kotlin