¡Hay tantas formas diferentes de expresar si algo es verdad o no! El objetivo de este desafío es producir una salida estandarizada de truthyo falsypara varios valores de verdad y falsedad de entrada.
Para los propósitos de este desafío, las siguientes entradas se consideran verdaderas:
- Una cadena que representa un entero con signo con un valor distinto de cero (contiene solo los dígitos
[0-9], con un opcional-al principio). Tenga en cuenta que la cadena-0nunca se dará como entrada. Un número entero distinto de cero nunca estará precedido por un0(es decir01, nunca se dará como entrada, de manera similar-01, nunca será gien como entrada). - Las cadenas de mayúsculas y minúsculas equivalentes a uno de
defined,found,nonnil,non-nil,on,success,t,true,y, yyes
Para los propósitos de este desafío, las siguientes entradas se consideran falsas:
- La cadena
0. Los ceros repetidos (00,00...) nunca se darán como entrada. - Una cadena vacía
- Las cadenas de mayúsculas y minúsculas equivalentes a uno de
f,failure,false,n,nan,nil,no,notfound,not-found,null,nullptr,off, yundefined
Entrada
La entrada es una cadena que representa un valor verdadero / falso. La cadena puede provenir de cualquier fuente deseada (stdio, parámetro de función, etc.). No hay espacios en blanco iniciales / finales.
Se garantiza que la entrada coincida con uno de los valores de verdad / falsedad permitidos anteriores (es decir, no es necesario que proporcione ningún tratamiento de errores).
Salida
Su programa / función debe generar un valor de verdad / falsedad que represente la "verdad" o "falsedad" de la entrada. Solo se le permite especificar exactamente 1 valor de verdad y 1 valor de falsedad al que su salida debe convertir la entrada (estos son su valor de verdad / falsedad "estandarizado"). La salida puede escribirse en cualquier sumidero deseado (estándar, valor de retorno, parámetro de salida, etc.).
Especifique qué truthyy el falsyvalor que eligió en su respuesta.
Ej .: Si elige la cadena truecomo valor verdadero, no puede tener también el número entero 1para verdad.
Casos de prueba
Los casos de prueba están formateados ya que la primera línea es la entrada y la segunda línea es la salida.
-1
true
1
true
1234
true
-4321
true
defined
true
deFined
true
Found
true
nonnil
true
non-nil
true
ON
true
SuCCess
true
T
true
true
true
y
true
YeS
true
0
false
'' (empty string)
false
faLSE
false
f
false
Failure
false
n
false
NaN
false
nil
false
no
false
notfound
false
not-Found
false
NULL
false
nullptr
false
OFF
false
unDefined
false
Puntuación
Este es el código de golf; el código más corto en bytes gana. Se aplican lagunas estándar. Puede usar los complementos deseados.
00verdaderos o incluso son entradas válidas? (Supongo que no son válidos, pero solo están comprobando)
0?