アカウント名:
パスワード:
来週の会議で聞いてみよっと
=18){$count_pass++;}}return ($count_all == $count_pass)?true:false;}
var_dump( returnTrueIfAllOver18([20,30,40,50,60]) );// truevar_dump( returnTrueIfAllOver18([1,3,5,10,90]) );// false
var_dump( returnTrueIfAllOver18([]) );// true
コードが崩れた
<?phpfunction returnTrueIfAllOver18($array){$count_all=count($array);$count_pass=0;foreach($array as $a){if ($a>=18){$count_pass++;}}return ($count_all == $count_pass)?true:false;}var_dump( returnTrueIfAllOver18([20,30,40,50,60]) );// truevar_dump( returnTrueIfAllOver18([1,3,5,10,90]) );// falsevar_dump( returnTrueIfAllOver18([]) );// true
<?php
function returnTrueIfAllOver18($array){$count_all=count($array);$count_pass=0;foreach($array as $a){if ($a>=18){$count_pass++;}}return ($count_all == $count_pass)?true:false;}
18未満があったらそこで処理を打ち切る方が早いと思われる。
function returnTrueIfAllOver18($array){foreach($array as $a){if ($a<18){ return false; }}return true;}
「配列中に一つでも条件を満たさないものがあればfalseを返す」なら、その書き方しますね。でも、「配列のすべての要素が条件を満たすならtrueを返す」なら、条件を満たすかを確認して満たす要素がなければfalseを返してしまうなぁ。暗黙的に条件を満たす要素数は「1以上かつ配列の要素数と同じ」と行間を読んでしまう。
というか
「配列のすべての要素が条件を満たすならtrueを返す」 == !「配列中に一つでも条件を満たさないものがあればfalseを返す」
じゃないからなぁ。まぁ、お題が曖昧だと結果も曖昧になるわな。
1. パラメータで与えられて値が条件を満たすかどうかの判定をtrue/falseで返す関数を定義する2. 1の関数を使って、配列要素中に条件を満たす要素がいくつあったか返す関数を定義する3. 2の関数に空配列を渡すと 0 が返る4. 渡した配列の要素数は 0 だから、返値の 0 と一致するのですべての要素は条件を満たした5. return true;
「すべて」とは要素数が一致することと定義して、その定義に従って実直に実装すればそうなるでしょう。
一方、「すべての要素が条件を満たす」ことと「条件を満たさない要素が含まれない」ことを等しいとするなら、条件を満たさないものが見つかった時点でfalseを返す実装になる。
あなたは18歳未満ですか?という設問を置けばいいということか!(違
配列が空のときはtrueを返すように俺様が関数を作ったから世のすべてのプログラムは配列が空のときはtrueを返すべきだと言っているだけな気がする。
> return ($count_all == $count_pass)?true:false;return $count_all == $count_pass;判定した時点で真偽値は得られている。
空配列の判定が無くtrueなのは今回の主旨とは違うのでは
この程度の事で首とかいうような輩は人物的にアレな感があるから不要だなぁ。
宗教戦争が勃発して会社が空中分解しそう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー
falseと回答した人は首な (スコア:0)
来週の会議で聞いてみよっと
=18){$count_pass++;}}
return ($count_all == $count_pass)?true:false;
}
var_dump( returnTrueIfAllOver18([20,30,40,50,60]) );// true
var_dump( returnTrueIfAllOver18([1,3,5,10,90]) );// false
var_dump( returnTrueIfAllOver18([]) );// true
Re: (スコア:0)
コードが崩れた
Re:falseと回答した人は首な (スコア:1)
18未満があったらそこで処理を打ち切る方が早いと思われる。
function returnTrueIfAllOver18($array){
foreach($array as $a){if ($a<18){ return false; }}
return true;
}
# SlashDot Light [takeash.net] やってます。
Re: (スコア:0)
「配列中に一つでも条件を満たさないものがあればfalseを返す」なら、その書き方しますね。
でも、「配列のすべての要素が条件を満たすならtrueを返す」なら、条件を満たすかを確認して満たす要素がなければfalseを返してしまうなぁ。
暗黙的に条件を満たす要素数は「1以上かつ配列の要素数と同じ」と行間を読んでしまう。
というか
「配列のすべての要素が条件を満たすならtrueを返す」 == !「配列中に一つでも条件を満たさないものがあればfalseを返す」
じゃないからなぁ。
まぁ、お題が曖昧だと結果も曖昧になるわな。
Re: (スコア:0)
1. パラメータで与えられて値が条件を満たすかどうかの判定をtrue/falseで返す関数を定義する
2. 1の関数を使って、配列要素中に条件を満たす要素がいくつあったか返す関数を定義する
3. 2の関数に空配列を渡すと 0 が返る
4. 渡した配列の要素数は 0 だから、返値の 0 と一致するのですべての要素は条件を満たした
5. return true;
Re: (スコア:0)
「すべて」とは要素数が一致することと定義して、その定義に従って実直に実装すればそうなるでしょう。
一方、「すべての要素が条件を満たす」ことと「条件を満たさない要素が含まれない」ことを等しいとするなら、条件を満たさないものが見つかった時点でfalseを返す実装になる。
Re: (スコア:0)
18未満があったらそこで処理を打ち切る方が早いと思われる。
あなたは18歳未満ですか?という設問を置けばいいということか!(違
Re:falseと回答した人は首な (スコア:1)
Re: (スコア:0)
配列が空のときはtrueを返すように俺様が関数を作ったから
世のすべてのプログラムは配列が空のときはtrueを返すべきだ
と言っているだけな気がする。
Re: (スコア:0)
> return ($count_all == $count_pass)?true:false;
return $count_all == $count_pass;
判定した時点で真偽値は得られている。
Re: (スコア:0)
空配列の判定が無くtrueなのは今回の主旨とは違うのでは
Re: (スコア:0)
この程度の事で首とかいうような輩は人物的にアレな感があるから不要だなぁ。
Re: (スコア:0)
宗教戦争が勃発して会社が空中分解しそう。