Tengo un valor que será una de cuatro cosas: booleano verdadero, booleano falso, la cadena "verdadero" o la cadena "falso". Quiero convertir la cadena en un booleano si es una cadena; de lo contrario, déjela sin modificar. En otras palabras:
"verdadero" debería convertirse en realidad
"falso" debería convertirse en falso
la verdad debería permanecer verdad
lo falso debe permanecer falso
!!(if input == 'false' then true else input end). El segundo !convierte el valor de retorno a un booleano que es el opuesto al que desea; el primero !luego hace la corrección. Este "truco" existe desde hace mucho tiempo. No a todo el mundo le gusta.
trueofalseo es suficiente si el resultado es Truthy o Falsey-? Si el último, entoncesfalseya es falso, y ambostruey'true'son veraces, por lo que el único valor para el que el resultado no es ya correcto es'false':if input == 'false' then true else input enddebería hacerlo.