パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

if statement の中の && とか || とか」記事へのコメント

  • もうやらないですねぇ
    エラー出したくなったときとかめんどいし
    年のせいか明確さ優先でそんなことにほんのささやかでも頭使う余裕が無い
    書き捨てなら使わんでも無いですが、
    人が見る可能性なあるコードならやりませんね
    if文中での代入やらforで二つ初期化、演算とかもやりませんねぇ

    • ショートサーキットで問題がになるのは条件式に副作用がある場合で、それを前提にしたコードは書くべきではないとは思いますが、
      if条件式中で&&や||を使わずにどうするの?って逆に疑問に思ってしまいますねぇ。
      「if (cond1 && cond2) {…」は、「if (cond1) { if (cond2) {…」 って書いたりのでしょうか?
      # ショートサーキットは怖いとかいって 「if (cond1 & cond2) {」って書くと、非常に危険。

      > if文中での代入

      これはC++では多用してますね。変数宣言とセットで。CでもC99からはいけるんでしたっけ。

      if (FILE *fp = fopen(path, "rb")) {
           /* ファイル

      • 条件式に副作用が無ければショートサーキットがあっても無くても処理結果は変わらないので、
        「ショートサーキットを利用しない」って言うのは「副作用のある条件式を(複数)使わない」ってことです
        流石に&&使わないとか、&使うとかって話じゃ無いですね…かさばりますし

        if文での代入はミスが出やすいのでやりたくないというところ
        ()忘れるとかですね
        if (result = func() != FAIL)
        とか
        んーでも単に単純にしたいって方が大きいかも

        宣言込みでスコープ縛れるのはかなり魅力的なんですけどね…
        若い子が見た目真似して先に書いたようなドジを踏むのが怖くてためらいます

        perlでよくやるやつはif文が無いからかそこまで気にならないですね
        専用単語立てて欲しい気はしますが
        then/elseとかだとモロかぶりでまずいか…

        メソッド設計はそういうの良いですよね

        • by Anonymous Coward

          VB.NETだとAndThen/OrElseというショートサーキット評価用の演算子が追加されていますね。

開いた括弧は必ず閉じる -- あるプログラマー

処理中...