HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0313
もみじelse命令について3解決


もみじ

リンク

2015/3/13(Fri) 01:35:07|NO.67824

if命令に使う、else命令の記述の仕方についての質問です。
ヘルプ見ても解決しなかったので、教えてください。

例えば、次の様なifとelseを記述をすると、エラーも出ず問題なく実行できます。


a = 1 if a = 1 { mes "あああ" } else { mes "いいい" } if a = 1 : mes "あああ" : else : mes "いいい"

しかしこれを、


if a = 1 : mes "あああ" else : mes "いいい"

と書くと、「elseの前にifが見当たりません」とのエラーが出てしまいます。
この理由がわかりません。
これがエラーなら意味的に中括弧の記載のもエラーになる気もして、どこが違うのやら・・・。
個人的に一番スッキリと見やすい書き方なので、何かエラーにならない方法があればいいのですが。



この記事に返信する


Moz

リンク

2015/3/13(Fri) 02:50:24|NO.67825

こういう書き方なら可能だけど、どうだろう。

if a = 1 : mes "あああ" {}
else : mes "いいい"

if a = 1 { mes "あああ" }
else : mes "いいい"

if a = 1 { mes "あああ"
} else : mes "いいい"

↑<pre>を入れて投稿すると不要な改行が入っちゃったので無しで投稿。



科学太郎

リンク

2015/3/13(Fri) 04:06:00|NO.67827

> if a = 1 : mes "あああ"
> else : mes "いいい"
この2行は次の4行と解釈されます。

if a = 1 mes "あああ" else mes "いいい"

このように展開すると else の前に if がないエラーは納得でしょう。


if a = 1{mes "あああ"}else{mes "いいい"}

このような1行は次の2行でも正しく処理されます。

if a = 1{mes "あああ"} else{mes "いいい"}

また次のような多重分岐も可能です。

a=3 if a=1{mes "あああ"} else:if a=2{mes "いいい"} else:if a=3{mes "ううう"} else:if a=4{mes "えええ"} else:if a=5{mes "おおお"} else{mes "んんん"}

> 個人的に一番スッキリと見やすい書き方なので、何かエラーにならない方法があればいいのですが。

a=1 if(a=1) {mes "あああ"} else {mes "いいい"}

これでどうですか?
タブ文字を使って揃えて見やすくしてます。



もみじ

リンク

2015/3/13(Fri) 11:16:11|NO.67829

お二方、どうもありがとうございます。

if a = 1{mes "あああ"} else{mes "いいい"}
コレを見て、やっと理解しました。
たしかに、中括弧外すと直前はifではなくて、mesになってしまいますね・・・。

タブを使って揃えるのも見やすくてよかったので、参考にします!
ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.