アカウント名:
パスワード:
「配列のすべての要素が条件を満たすならtrueを返す」と書かれているということは、前提としてはfalseであり、「条件を満たさない限りtrueにはならない」のである。簡単に言えばホワイトリスト式ということだ。よって、空配列を渡すと条件を満たすことがないのでfalseになるのが正解である。
対して、これが「配列のいずれかの要素が条件を満たさないならfalseを返す」だった場合、ブラックリスト式なので、前提としてtrueであり、「条件を満たさない要素があった場合のみfalseになる」ので、空配列を渡すと、条件を満たさないことがないので「true」になる。
いいプログラマは、こういう論理の落とし穴を理解してうまく対処できるプログラマである。
世の標準ライブラリはほぼ全て間違えていると言うことか。考え方を改めた方がいいのでは?
ほんと世の中勝手に仕様を書き足すクソばっかりで驚きだよ。
いいか?配列が空配列ということは、要素がないということだ。つまり条件判定をしようとしたら絶対エラーになる。そうならないコードを書く奴はプログラマとして論外だからな。そしてそれは「条件を満たす」という結果とイコールか?違ぇだろw
勝手に数学とか標準ライブラリとか別世界の話持ってくるなっつの。バカじゃねえの?
何度か考えたのですが、0個の要素全てについて条件判定した結果、OKなのでtrueになる。
全くピーマンが入っていない料理を平らげた子供が「出されたピーマンを全て食べました。」と言ったとき、それは嘘ではないからtrueです。
最低でも一度以上判定をしなければならないなんてどこにも書かれてない。勝手に仕様を書き足すんじゃねえよクソが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
迷う余地などなく「false」を返すのが正しい。 (スコア:0)
「配列のすべての要素が条件を満たすならtrueを返す」と書かれているということは、
前提としてはfalseであり、「条件を満たさない限りtrueにはならない」のである。
簡単に言えばホワイトリスト式ということだ。よって、空配列を渡すと条件を満たす
ことがないのでfalseになるのが正解である。
対して、これが「配列のいずれかの要素が条件を満たさないならfalseを返す」
だった場合、ブラックリスト式なので、前提としてtrueであり、「条件を満たさない
要素があった場合のみfalseになる」ので、空配列を渡すと、条件を満たさないことが
ないので「true」になる。
いいプログラマは、こういう論理の落とし穴を理解してうまく対処できるプログラマ
である。
Re: (スコア:0)
世の標準ライブラリはほぼ全て間違えていると言うことか。
考え方を改めた方がいいのでは?
Re: (スコア:-1)
ほんと世の中勝手に仕様を書き足すクソばっかりで驚きだよ。
いいか?配列が空配列ということは、要素がないということだ。
つまり条件判定をしようとしたら絶対エラーになる。
そうならないコードを書く奴はプログラマとして論外だからな。
そしてそれは「条件を満たす」という結果とイコールか?違ぇだろw
勝手に数学とか標準ライブラリとか別世界の話持ってくるなっつの。バカじゃねえの?
Re:迷う余地などなく「false」を返すのが正しい。 (スコア:1)
何度か考えたのですが、0個の要素全てについて条件判定した結果、OKなのでtrueになる。
全くピーマンが入っていない料理を平らげた子供が「出されたピーマンを全て食べました。」と言ったとき、それは嘘ではないからtrueです。
Re: (スコア:0)
最低でも一度以上判定をしなければならないなんてどこにも書かれてない。
勝手に仕様を書き足すんじゃねえよクソが。