[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
301-
401-
501-
601-
701-
801-
901-
この機能を使うにはJavaScriptを有効にしてください
|
レス数が900を超えています。1000を超えると投稿できなくなるよ。
【初心者歓迎】プチコンなんでも相談室【質問専用スレ】
730
:
名無しさん
:2015/03/28(土) 08:32:41 ID:MNK4RpLw
>>727
「ELSEIF THENで改行が無いと」とおっしゃっているのは、
プチコン3号の構文解析の仕様のせいだと思います。
「ダメなコード例」を順番に見てみると、
1行目のIF THEN は、THENの後が空白ではなく命令が書かれているので、
ブロック型のIF文の書き方ではないと判断されていると思います。
その次のうちにIF文は終わり、と判断されてしまった後で、
2行目で、IF文が無いのに急にELSEIFが出てきて、ダメだと言われます。
THEN(とELSE)の後に何も書かれないまま改行になるかどうか、が
プチコン3号の構文解析がブロックとみなすかどうかの条件だと思います。
判断に使いたい条件が==(完全一致)だけならば、
>>728
のような方法で良いと思います。
プチコン3号では、ラベルと同じ行に命令を書けるようになったので、
ある程度スッキリ書けますね。
こんな工夫した書き方もあります。
REPEAT IF !CHKLABEL("@CASE_"+STR$(A)) GOTO @DEFAULT ELSE GOTO "@CASE_"+STR$(A)
@CASE_1: ANS=XXX BREAK
@CASE_2: '2の場合は3と同じ結果にする例
@CASE_3: ANS=ZZZ BREAK
@DEFAULT: ANS=0
UNTIL 1
見た目優先の書き方ですね、処理が軽いかどうかは分かりません。
また、もっと柔軟な条件式を使いたい場合は、
こんなような書き方ではきっと無理だと思います。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板