Existem muitas maneiras diferentes de expressar se algo é verdadeiro ou não! O objetivo desse desafio é produzir uma saída padronizada de truthy
ou falsy
para vários valores de verdade e falsidade de entrada.
Para os propósitos deste desafio, as seguintes entradas são consideradas verdadeiras:
- Uma sequência que representa um número inteiro assinado com um valor diferente de zero (contém apenas os dígitos
[0-9]
, com um opcional-
no início). Observe que a string-0
nunca será fornecida como entrada. Um número inteiro diferente de zero nunca será precedido por a0
(ou seja01
, nunca será dado como entrada, da mesma forma-01
nunca será obtido como entrada). - As cordas de maiúsculas e minúsculas equivalentes a um de
defined
,found
,nonnil
,non-nil
,on
,success
,t
,true
,y
, eyes
Para os propósitos deste desafio, as seguintes entradas são consideradas falsas:
- A cadeia
0
. Zeros repetidos (00
,00...
) nunca serão dados como entrada. - Uma string vazia
- As cordas de maiúsculas e minúsculas equivalentes a um de
f
,failure
,false
,n
,nan
,nil
,no
,notfound
,not-found
,null
,nullptr
,off
, eundefined
Entrada
A entrada é uma sequência que representa um valor de verdade / falsidade. A string pode vir de qualquer fonte desejada (stdio, parâmetro de função etc.). Não há espaços em branco à esquerda / à direita.
A entrada é garantida para corresponder a um dos valores permitidos de verdade / falsidade acima (ou seja, você não precisa fornecer nenhum tratamento de erros).
Resultado
Seu programa / função deve gerar um valor de verdade / falsidade que represente a "verdade" ou "falsidade" da entrada. Você só pode especificar exatamente 1 valor de verdade e 1 valor de falsidade para o qual sua saída deve converter a entrada (esses são seus valores de verdade / falsidade "padronizados"). A saída pode ser gravada em qualquer coletor desejado (stdio, valor de retorno, parâmetro de saída, etc.).
Especifique o valor truthy
e o falsy
valor que você escolheu na sua resposta.
Ex .: Se você escolher a sequência true
como um valor de verdade, também não poderá ter o número inteiro 1
para a verdade.
Casos de teste
Os casos de teste são formatados como a primeira linha é a entrada e a segunda linha é a saída.
-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
Pontuação
Isso é código-golfe; o código mais curto em bytes vence. Aplicam-se brechas padrão. Você pode usar quaisquer embutidos desejados.
00
verdade ou são entradas válidas? (Suponho que eles não são válidos, mas apenas verificando)
0
?