トップページ > プログラム > 2014年04月27日 > ZFL5ABxC

書き込み順位&時間帯一覧

27 位/181 ID中時間01234567891011121314151617181920212223Total
書き込み数0100000000010001000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
推薦図書/必読書のためのスレッド 72
クラス名・変数名に迷ったら書き込むスレ。Part24

書き込みレス一覧

推薦図書/必読書のためのスレッド 72
752 :デフォルトの名無しさん[sage]:2014/04/27(日) 01:53:24.00 ID:ZFL5ABxC
一レビュアの意見がきっかけで絶版って・・・
クラス名・変数名に迷ったら書き込むスレ。Part24
247 :デフォルトの名無しさん[sage]:2014/04/27(日) 11:54:30.16 ID:ZFL5ABxC
リスト内のあるパターンにマッチする、あるいはマッチしない要素のみを集めて別のリストにする、
いわゆるフィルター関数を作っています。

マッチする、しない、どちらの処理かはこの関数の引数で指定できるようにします。

要素ひとつに対して、パターンとマッチするなら0を、しないなら-1を返す関数は予め用意されています。

あとはリストをたどってフィルターする関数を作るだけですが、
質問は上記の役割の引数の名前をどうするかです。

filter関数の定義 (List list, int <引数>) {
foreach (list の各要素 e について) {
if (match (pattern, e) == <引数>) then 別のリストに加える
}}
クラス名・変数名に迷ったら書き込むスレ。Part24
253 :デフォルトの名無しさん[sage]:2014/04/27(日) 15:24:56.79 ID:ZFL5ABxC
ご意見ありがとうございます。

別関数にすると、真偽判定が逆なだけの、ほぼ同じ関数ができます。

filterMached (List list) {
foreach (list の各要素 e について) {
if (match (pattern, e) == 0) then 別のリストに加える
}}

filterUnmached (List list) {
foreach (list の各要素 e について) {
if (match (pattern, e) == -1) then 別のリストに加える
}}

これは、似たようなルーチンをコピペで作ることによって
バグが入り込みやすくなるのと同じ問題を抱える危険性はないでしょうか?

それとも、この程度は心配に及ばないでしょうか?


パターンをハードコードするか、引数で渡すかは、
今回の質問とは直接関係はないと判断しました。
実際は引数で渡しますが、疑似コードからは省きました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。