C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.68900 の関連記事表示

<< 0 >>
■68900  Re[2]: 関数の真偽によってその他の関数の実行を制御したい
□投稿者/ krk -(2013/11/24(Sun) 14:46:56)
    2013/11/24(Sun) 14:47:27 編集(投稿者)
    2013/11/24(Sun) 14:47:23 編集(投稿者)

    774RRさん、Jittaさん、ご返信ありがとうございます。

    774RRさん>
    >なぜ気持ち悪いのか
    >どのへんがが気持ち悪いのか
    >自己分析してみるといいかもしれないな。
    1),2)のやり方は、if文を使っているのに対応する処理を行っていないこと、
    3)のやり方は、変数を宣言しているのにそれを使用していないこと
    が、何となく気持ち悪かったのです。説明が不足していて申し訳ありませんでした。
    おっしゃる通り、実際に処理は通りますので、
    人によっては特に問題にしないのかもしれません。

    Jittaさん>
    >「もっと良いやり方」という曖昧な言葉ではなく、不満な点、解消したい点を明確にしてください。
    >あなたの中にある「不満に思っている点」は、誰にものぞき見ることはできません。
    その通りですね。
    曖昧な質問で本当に申し訳なかったです。

    >> 上から順番に関数を実行して、ある関数が真を返す場合にはそれ以下の関数は実行しない
    > 最初の if 文の列は、この文をそのままコードに変換しています。
    >つまり、「実行したいこと」を一番的確に表現できています。
    >それよりも「もっと良いやり方」とは、何を基準に「良い」「悪い」を判断するのでしょうか。
    後から読んで処理がすっと理解できるかな?と疑問に思ったのです。
    もっと的確にやっている処理がわかりやすい書き方(これも抽象的な表現ですが・・・)
    が存在するのではないかと思って質問させていただきました。

    >> if(A() || B() || C() || D() || ...){/*処理なし*/}
    >> bool b = A() || B() || C() || D() || ...;
    > これらが「何となく気持ちがわる(い)」のは、使用しない処理があるからでしょう。
    まさにその通りです。以前、どこかで空のif文は是か非かという内容のスレッドを見たことが
    あったので、こういう書き方が許容されるのかどうかを知りたかったのです。

    ちなみに、お二方がご呈示くださったコードは上記「気持ち悪さ」をうまく解決
    されていて、非常に参考になりました。ありがとうございました。
記事No.68892 のレス / END /過去ログ118より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -