K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>if文のぶら下がり文に関してふと思いついたんですが、 >>本体にブロックを強制する場合でも >>else節にだけ、if文も書けるようにすればelsif(elif, elseif)というようなキーワードを導入しなくても困りませんよね? > >なるほど。確かに構文規則を以下のようにいじってbisonにかましてみましたが、 >特にconflictは起きませんでした。 > >if_statement: IF LP expression RP block > | IF LP expression RP block ELSE block > | IF LP expression RP block ELSE if_statement > | IF LP expression RP block elsif_list > | IF LP expression RP block elsif_list ELSE block > | IF LP expression RP block elsif_list ELSE if_statement > > >>文法が微妙に汚くなるからでしょうか >>then節とelse節で書けるものが違う、とか、if文だけ特別扱い、とか > >やっぱりこれを汚いと思う人が多いからではないでしょうか。 > >汚いかどうかは主観の問題ですけど、私なら、if文だけ特別扱いするくらいなら、 >elsifを導入します。 > >確かに、Cプログラマで、Cにはelse ifという特別な構文があると思っている人は >少なくなかったですから、elseの後のif文だけ特別扱いしてもさほど混乱はないのかも >しれませんけど、「Cにはelse ifという特別な構文があると思っている人」が >周囲にたくさんいた私としては、そういう人への啓蒙もこめてelsifを導入した、 >という意図もあったようななかったような。 >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!