何かが真実であるかどうかを表現するには、非常に多くの異なる方法があります!この課題の目標は、生産することである標準の出力truthyやfalsy、さまざまな入力truthyとfalsy値のために。
この課題のために、以下の入力は真実と見なされます。
- ゼロ以外の値を持つ符号付き整数を表す文字列(数字のみが含まれ、先頭に
[0-9]オプションがあります-)。文字列-0が入力として与えられることは決してないことに注意してください。0以外の整数の前にaが付くことは決してありません0(つまり01、入力として与えられることはなく、同様に入力として与えられる-01こともありません)。 - いずれかに相当する、大文字と小文字を区別しない文字列
defined、found、nonnil、non-nil、on、success、t、true、y、及びyes
この課題のために、次の入力は偽物と見なされます。
- 文字列
0。繰り返されるゼロ(00、00...)は入力として与えられません。 - 空の文字列
- いずれかに相当する、大文字と小文字を区別しない文字列
f、failure、false、n、nan、nil、no、notfound、not-found、null、nullptr、off、及びundefined
入力
入力は、真偽値を表す文字列です。文字列は任意のソース(stdio、関数パラメーターなど)から取得できます。先頭/末尾の空白はありません。
入力は、上記の許可された真偽値のいずれかに一致することが保証されています(つまり、エラー処理を提供する必要はありません)。
出力
プログラム/関数は、入力の「真実性」または「偽性」を表す真偽値を出力する必要があります。出力で入力を変換する必要がある正確に1つの真偽値と1つの偽値のみを指定できます(これらは「標準化された」真偽値)。出力は、任意のシンク(stdio、戻り値、出力パラメーターなど)に書き込むことができます。
回答で選択したものtruthyとfalsy値を指定してください。
例:文字列trueを真の値として選択した場合、真の整数も使用できません1。
テストケース
テストケースは、1行目が入力、2行目が出力であるため、フォーマットされています。
-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
得点
これはコードゴルフです。バイト単位の最短コードが優先されます。標準の抜け穴が適用されます。必要なビルトインを使用できます。
00真実のようですか、それとも有効な入力ですか?(私はそれらが有効ではなく、チェックしているだけだと思います)
0か?