アカウント名:
パスワード:
こういうのはエラーチェックのために使うことが多いので条件を満さない要素が1つでもあればfalseで空ならtrueが普通と思う。空かどうかはまた別のチェックということで。
その用途だと「(別に行われてるべき)空チェックを正しくされてない」ことを検出できる、例外を投げる動作が一番理にかなってない?
例外投げればいいじゃない?って意見は同意だけど、例外が使えない言語も考慮して考えておくのもアリだと思う。
strcmpみたいにintで返すのもありかと
汎用的なライブラリ関数を作るのならこれだよな。どんな配列が渡されるか不明だから、最初に初期化(null)確認をして、要素数の確認をして、それらに問題が無ければ実際の処理に入る。戻り値はそれぞれの処理結果に応じて値を変える。汎用的な関数でなく、自分のプログラムの中で管理されて使用されるのなら戻り値はtrueになる。配列が空である事が何らかの意味を持つのであれば、関数を呼び出す前に確認して、処理を記述するから。つまり、関数は初期化して要素数が1以上のものを必ず渡す事を前提に作るから、初期化や要素数の確認はせず、そのまま内容確認の処理を記述する。ループさせ、条件を満たさないものがあれば、処理を中断しfalseで戻す。もし配列が空であれば結果的にtrueになる。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
現実的には (スコア:3, 参考になる)
こういうのはエラーチェックのために使うことが多いので
条件を満さない要素が1つでもあればfalseで空ならtrueが普通と思う。
空かどうかはまた別のチェックということで。
Re:現実的には (スコア:0)
こういうのはエラーチェックのために使うことが多いので
条件を満さない要素が1つでもあればfalseで空ならtrueが普通と思う。
空かどうかはまた別のチェックということで。
その用途だと「(別に行われてるべき)空チェックを正しくされてない」ことを検出できる、例外を投げる動作が一番理にかなってない?
Re: (スコア:0)
例外投げればいいじゃない?って意見は同意だけど、例外が使えない言語も考慮して考えておくのもアリだと思う。
Re: (スコア:0)
strcmpみたいにintで返すのもありかと
Re: (スコア:0)
汎用的なライブラリ関数を作るのならこれだよな。どんな配列が渡されるか不明だから、最初に初期化(null)確認をして、要素数の確認をして、それらに問題が無ければ実際の処理に入る。戻り値はそれぞれの処理結果に応じて値を変える。
汎用的な関数でなく、自分のプログラムの中で管理されて使用されるのなら戻り値はtrueになる。配列が空である事が何らかの意味を持つのであれば、関数を呼び出す前に確認して、処理を記述するから。つまり、関数は初期化して要素数が1以上のものを必ず渡す事を前提に作るから、初期化や要素数の確認はせず、そのまま内容確認の処理を記述する。ループさせ、条件を満たさないものがあれば、処理を中断しfalseで戻す。もし配列が空であれば結果的にtrueになる。