if の構文

[上に] [前に] [次に]
ken [E-Mail] [HomePage] 2000/05/23(火) 13:50:41
変な質問ですが
ふと思ったのですが
IF文があります

IF
ELSE IF
ELSE IF



とどのぐらいまでなら繰り返せるのですか?
どのサンプルも
IF 
ELSE IF
ELSE
までしか書いていませんでした。

それともELSE IFをたくさん書くのでなく
他に良い方法があれば教えて下さい
よろしくお願いします

Fuji.♪ [E-Mail] [HomePage] 2000/05/23(火) 13:54:31
場合にもよると思うけど、switch構文が使えるならそれでもいいとおもうけど、やっぱり場合によりけり。
ただ、言語が書いていないとなんとも答え様がないと思います。

大文字で並べられたので汎用機時代のCOBOLとか連想しちゃいましたし。(それならswitchじゃなくEVALUATEだったか?)
elsifじゃないところからPerlでもなさそうですし。

ken 2000/05/23(火) 14:07:17
すいません
言語を言ってませんでした
これはJavaScriptの
IF文です。
説明不足ですいません

きゅんべる 2000/05/23(火) 15:03:01
えっ、JavaScripだと大文字 IF だとエラーに成りませんか?
Pascal(Delphi) や BASIC(VB) だと、大文字でもよかったと思いますけど。

それはさておき、繰り返しは、いくつでもOKです。
ブロックを囲って、論理的なインデントを付けて書くと、
if ()
{
}
else
{  // ←この括弧は省略可
 if ()
 {
 }
 else
 {// ←この括弧は省略可
  この部分に、また、if () {} else {} の入れ子、の繰り返し
 }// ←この括弧は省略可
}// ←この括弧は省略可
ってことですから。

ところで、僕は、結構 if () {} else if () {} ... で書くのは好きです。
理由は、
☆ブロックで書きたい
☆ブロックのすぐそばに条件式が合って見やすい(ことがある)
☆switchだと(個人的に)インデントを二つ付けるので、横幅がもったいない(^^);

 swichでも、一回一回条件判定していくのは、if .. else .. if ..と
おんなじですし。
 尤も、言語によっては、switchが最適化されることもあるので、
(条件判定が一回で該当箇所にジャンプする)ものによりけりですけど、ね。

shin' 2000/05/24(水) 12:54:46
個人的に、多分岐は if else if else if よりも switch を好んでいます。
理由は
・見やすい
・条件式をいくつも書く必要がない

ただし、JavaScriptの場合、1.1はswitchをサポートしていないので、
else if を使わざるをえないという結論にいたっています。

ただ、else ifよりは、ifを何行にも並べることのほうがよくあります。
(そうすれば、すべてのパターンはそのifを通ることになるから)

ken 2000/05/24(水) 16:37:43
[[解決]]
みなさん
ありがとうございます

ただし、JavaScriptの場合、1.1はswitchをサポートしていないので、
else if を使わざるをえないという結論にいたっています。

と言う事できゅんべるさんのをコピーさせてもらい動かした所
正しく動きました。
みなさん、わかりやすい説明をありがとうございます
個のタイトルにこだわらず、いろんな情報をありがとうございます

[上に] [前に] [次に]