Re: else if について
久野です。
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などのキーワードを入れるようになるんですね。
> #あ、なんかブロックの括り方に関係ありそうですね・・・
ちょっと関係あるけどちょっと違うかも。 久野
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735