Path: ccsf.homeunix.org!ccsf.homeunix.org!news1.wakwak.com!nf1.xephion.ne.jp!onion.ish.org!honnetnews!news.gw.fukushima-u.ac.jp!news.tains.tohoku.ac.jp!news-sv.sinet!kinds.kumamoto-u.ac.jp!oix.u-ryukyu.ac.jp!u-ryukyu.ac.jp!ie.u-ryukyu.ac.jp!gama.is.tsukuba.ac.jp!nadesico.cc.tsukuba.ac.jp!gssm!kuno From: kuno@gssm.otsuka.tsukuba.ac.jp Newsgroups: fj.comp.lang.misc,fj.comp.lang.javascript Subject: Re: else if について Date: 6 May 2004 13:41:22 GMT Organization: GSSM, Univ. Tsukuba, Tokyo, Japan Lines: 31 Message-ID: References: NNTP-Posting-Host: smp.gssm.otsuka.tsukuba.ac.jp X-Newsreader: mnews [version 1.21] 1997-12/23(Tue) Xref: ccsf.homeunix.org fj.comp.lang.misc:17 fj.comp.lang.javascript:174 久野です。 tanaq@ca2.so-net.ne.jpさん: > 12.5 The if Statement > Syntax > IfStatement : > if ( Expression ) Statement else Statement > if ( Expression ) Statement > > と書かれていて、なんだ else に続くStatementには IfStatementを入れ子に > できるんだ、と納得した次第です。 > > で、疑問に思ったのが、なんで他の言語で elsif とかいう中途半端な略語の > 構文があるのか?というところ。 > 全部 else if で良さそうなものを、よっぽどタイピングをさぼりたかったの > か、もしくは他の不都合があったのか・・・ これはですね。C(ということはC++、JavaScript、Javaも)までの言語 では if(...) if(...) ... else ... が曖昧だという重大な問題があって、これを解消するためにいろいろ工 夫がなされてきたという経緯があるんです。結局、解消するためにはif 文の終わり(end、end if、fiなど)を設けるか、Perlみたいにブロック で常に囲むことになり、そうなるとelse ifの連鎖が書けなくなるので elseif、elsif、elifなどのキーワードを入れるようになるんですね。 > #あ、なんかブロックの括り方に関係ありそうですね・・・ ちょっと関係あるけどちょっと違うかも。 久野