アカウント名:
パスワード:
falseが正解と書いてる人が居るので念のために言っておくが"true"が正解。これは論理学的には「Vacuous truth」で「全ての集合は空集合を部分集合として含む」「前提が偽なら命題は真(爆発律)」のように正当化される。空の場合は「全てが条件を満たす」で日本語的にもあってる。要素数が1兆・1億・1まで真な関数が0になると急に偽を返すのも直感に反する。プログラマーとしても最初はtrueで宣言したboolに&=したり、while(){}内でreturn false、外で`return true`したり、どう考えてもtrue。
論理学なんかクソくらえと思うかもしれないが、論理学的にそうなら実務でも一貫してる。具体的な状況は、
「条件を満たすなら」の条件によっては1個も満たしてないでしょ・すべての配列が3桁の数字であることっていう条件設定だったら空配列ではFalseでしょ
条件っていってるのになんで条件を無視するのか
空なんだから0個の全てが満たしてるじゃないの。「存在しないもの」は任意の条件を満たす。「現在のフランス王は禿頭である」。「3桁の数字が一つでもあること」ならfalseが正しく、実際一般的実装でもそうなってる。
いや、一般実装じゃなくって態々プログラマの良さが分かるって話なのだから一般実装以外で作成するわけでなにがしかの有意なチェック処理が実装されるわけなのだから文脈から考えてしまうと満たすものが一つもないものはFalseが正しい論理学で考えるとTrueが正しいのだと思う
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
trueが正解 (スコア:2, 参考になる)
falseが正解と書いてる人が居るので念のために言っておくが"true"が正解。
これは論理学的には「Vacuous truth」で「全ての集合は空集合を部分集合として含む」「前提が偽なら命題は真(爆発律)」のように正当化される。
空の場合は「全てが条件を満たす」で日本語的にもあってる。
要素数が1兆・1億・1まで真な関数が0になると急に偽を返すのも直感に反する。
プログラマーとしても最初はtrueで宣言したboolに&=したり、while(){}内でreturn false、外で`return true`したり、どう考えてもtrue。
論理学なんかクソくらえと思うかもしれないが、論理学的にそうなら実務でも一貫してる。具体的な状況は、
Re: (スコア:0)
「条件を満たすなら」の条件によっては1個も満たしてないでしょ
・すべての配列が3桁の数字であること
っていう条件設定だったら空配列ではFalseでしょ
条件っていってるのになんで条件を無視するのか
Re:trueが正解 (スコア:0)
空なんだから0個の全てが満たしてるじゃないの。
「存在しないもの」は任意の条件を満たす。「現在のフランス王は禿頭である」。
「3桁の数字が一つでもあること」ならfalseが正しく、実際一般的実装でもそうなってる。
Re: (スコア:0)
いや、一般実装じゃなくって態々プログラマの良さが分かるって話なのだから
一般実装以外で作成するわけでなにがしかの有意なチェック処理が実装されるわけなのだから
文脈から考えてしまうと満たすものが一つもないものはFalseが正しい
論理学で考えるとTrueが正しいのだと思う