趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。※サイト移転しました(tomono.eleho.net ⇒ tomono.tokyo)
RSS icon
  • 三項演算子の振る舞い

    投稿日 2015年 7月 7日 コメントはありません

    実は最近調子が悪く、療養中の身で最近記事をかけていません。(ESP8266関係も追っかけられていません)

    ただ、Webを彷徨っていたらこんな記事を見かけたので考えてみました。

    i%n==0?1:0
    ってどんな意味?

    との質問。演算子の優先順位から言って、((i%n)==0)?1:0 と等価で、iがnの倍数の時に1になる動きをするのでしょう。

    実際にいくつかの言語で試してみました。

    1.C言語

    となります。コンパイルと実行結果は、

    2.Java言語

    コンパイルと実行は、

    となります。

    3.JavaScript言語(Node.js 環境)

    実行は、

    4.JavaScript(ブラウザ環境)

    ブラウザでからのページを開いて、右クリックでJavaScriptコンソールを開いて、上記のプログラムをコピペしてリターンキーを押すと、結果がブラウザ側に表示されます。

    5.JavaScript(おまけ)

    サーバサイドで実行して、ブラウザで結果を見る場合です。

    これを foobar-server.js で保存して

    で実行し、ブラウザで http://localhost:8000/ を表示すると結果が見れます。
    firefoxではリロード毎にちゃんとnが1ずつ増えていくのですが、Chromeだと1から始まって2ずつ増えていきます。理由はわかりませんが、リロードの前に無駄な読み込みでもしているんでしょうか。それとも?


    コメントをどうぞ(日本語のみ/Only in Japanese)

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)