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

「世界一IQの低い」ソースコード」記事へのコメント

  • by Anonymous Coward

    「プログラム」の初心者向けということなら、まず if else の羅列を見せてうんざりさせてから switch を教えるというのはありだと思う。
    大昔、私が初めて「プログラム」という仕掛けを知った時の本(多分ブルーバックス)での BASICの説明がこんな調子だった、多方向分岐も条件ループも IF文とGOTO文だけのプログラムで動きを示してから、ON だの FOR だのそれぞれの構文を示していた。

    • ややズレますが、switch文 という話だと、『単純に置き換えていい』と思わせちゃっていいのかな? と:
      Stringとかオブジェクト類 だと、ちょっと意図と変わりますよね (中身でなく、同一インスタンスかどうか の比較だから)。

      こういう状況で 文字列比較したいわー というとき よくありますけど、
      Javaのswitchだと その周りの理由で 正しく中身の比較 にならなかったと思います。
      //まあ、『==』をまんま置き換えてるだけなので、Javaの『==』の仕様ですが。
      //JavaScriptだと 比較とか型とか適当だから 勝手に合わせて 中身の比較にしてくれたりしたような。

      比較周りの話で教えるべき かもしれませんけど、意外とswitch あんまり簡単でもないよなー、と。

      //数ページずらー が ないわー;とは思います(;^ω^)

      親コメント
      • Java の switch では、Java6以前だと 整数とenumだけでそれ以外のオブジェクトは使えなかったと思います。
        7 で String が使えるようになり、equals による中身の比較を行うようです。
        ついでに言えば、一つの switch の中で 整数やStringを混ぜて使うなんてこともできないです。

        むしろ、JavaScript の switch の方が、=== のまんま置き換え、となるようです。
        (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch)
        === による比較なので、== とは違って、型を勝手に変換したりもしないみたいです。
        文字列同士の場合に中身の比較になるのは、JavaScriptの === の仕様ってことになるのでしょうね。

        --
        svn-init() {
          svnadmin create .svnrepo
          svn checkout file://$PWD/.svnrepo .
        }
        親コメント
      • by Anonymous Coward

        最近のバージョンだとString にswitch文を つかうと、同一インスタンスかの比較ではなく、文字列の内容を比較するようになったのでは?7だか6だかから。

      • by Anonymous Coward

        そーゆー話じゃないと思います
        たとえ話にツッコミ入れて本題とは関係ない議論を繰り広げる会議を思い出した

      • by Anonymous Coward

        関係ないけど、1行目の

        と思わせちゃっていいのかな? と:

        が三項演算子に見えてしょうがない
        //if(と思わせちゃっていい)
        // return と;

アレゲは一日にしてならず -- アレゲ研究家

処理中...