アカウント名:
パスワード:
空の配列には、条件を満たす要素は一つも無い。つまり、falseだと思う。
ところが、「店内で飲酒している人が全員20歳以上なら適法」という判定に「空ならfalae」を使うと、店内に客がいなかったり全員がノンアルを飲んでいたりするとアウトになってしまう。で、なぜかロジックは修正されず「誰か常に酒を飲む奴を配置する」なんてパッチが当てられたりするわけですな(笑)
そらそうよ知りたいのは、店内に20歳未満なのに飲酒してるやつがいたら違法であって適法かどうかはどうでもいいもの要は仕様バグってこと
「店内で飲酒している人が一人でも20歳未満なら違法」という判定に「空ならtrue」を使うと?
「一人でも」はallじゃなくてanyでしょ。anyは配列が空ならfalseを返す。
なるほど。「店内で飲酒している人が全員20歳未満なら違法」とかちょっと変な例になっちゃうのか。
それロジックがバグってる。飲酒している人が全員20歳以上という関数にしたいなら、店内に客がいた場合に処理がされるべき物で、空の状態で判定しようとする方がおかしい。処理前のエラー処理であって、条件指定がそもそもおかしい。
そういう処理を考えるなら、店内に飲酒している20歳以下の人がいるという関数にした方が良い。
それがこの記事(が引用しているツイート)やコメント相手の主旨なんすけど。
なぜ君はさっきから「false」を「falae」と書くの?
老眼が始まったかもしれない
騙されてはいけない、きっと3つの値があるんだ
仕様は、あくまでも "店内で飲酒している人" という前提があり、それが"全員20以上なら適法" であり年齢による飲酒をテーマにしている以上、適法か違法かのどちらかになると思うので"店内で飲酒している人"が"全員20以上でなければ"違法になるのはあきらか。
適法か違法かは、人がいないとtrue or falseといえないところなので仕様不確定でどちらか一方を返すのは適切でないので、例外を投げるべき。
つまり、適法か違法かはある前提配下でしか利用できないので、その前段で、法を判断できる状態の配列なのかプログラマがジャッチしてあげる必要がある。
そうでなければ、法で
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
言葉尻? (スコア:2)
空の配列には、条件を満たす要素は一つも無い。
つまり、falseだと思う。
Re:言葉尻? (スコア:0)
ところが、「店内で飲酒している人が全員20歳以上なら適法」という判定に「空ならfalae」を使うと、店内に客がいなかったり全員がノンアルを飲んでいたりするとアウトになってしまう。
で、なぜかロジックは修正されず「誰か常に酒を飲む奴を配置する」なんてパッチが当てられたりするわけですな(笑)
Re: (スコア:0)
そらそうよ
知りたいのは、店内に20歳未満なのに飲酒してるやつがいたら違法
であって適法かどうかはどうでもいいもの
要は仕様バグってこと
Re: (スコア:0)
「店内で飲酒している人が一人でも20歳未満なら違法」という判定に「空ならtrue」を使うと?
Re:言葉尻? (スコア:1)
「一人でも」はallじゃなくてanyでしょ。
anyは配列が空ならfalseを返す。
Re: (スコア:0)
なるほど。
「店内で飲酒している人が全員20歳未満なら違法」とかちょっと変な例になっちゃうのか。
Re: (スコア:0)
それロジックがバグってる。
飲酒している人が全員20歳以上という関数にしたいなら、店内に客がいた場合に処理がされるべき物で、
空の状態で判定しようとする方がおかしい。
処理前のエラー処理であって、条件指定がそもそもおかしい。
そういう処理を考えるなら、店内に飲酒している20歳以下の人がいるという関数にした方が良い。
Re: (スコア:0)
それがこの記事(が引用しているツイート)やコメント相手の主旨なんすけど。
Re: (スコア:0)
なぜ君はさっきから「false」を「falae」と書くの?
Re:言葉尻? (スコア:1)
老眼が始まったかもしれない
Re: (スコア:0)
騙されてはいけない、きっと3つの値があるんだ
Re: (スコア:0)
仕様は、あくまでも "店内で飲酒している人" という前提があり、それが"全員20以上なら適法" であり
年齢による飲酒をテーマにしている以上、適法か違法かのどちらかになると思うので
"店内で飲酒している人"が"全員20以上でなければ"違法になるのはあきらか。
適法か違法かは、人がいないとtrue or falseといえないところなので
仕様不確定でどちらか一方を返すのは適切でないので、例外を投げるべき。
つまり、適法か違法かはある前提配下でしか利用できないので、
その前段で、法を判断できる状態の配列なのかプログラマがジャッチしてあげる必要がある。
そうでなければ、法で