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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0218
ZAP標準スクリプトエディタのラベル一覧について10解決


ZAP

リンク

2017/2/18(Sat) 15:01:59|NO.78275

今更な質問かもしれませんが、標準スクリプトエディタで
長いスクリプトを編集中にラベル一覧を表示したとき
すべてのラベルが表示されないことがあるのは仕様なのでしょうか?

スクリプトの行数に起因するのか、ラベル数に起因するのか、
はたまたスクリプト中の特定の文字列に起因するのか分からないのですが
自作ゲーのスクリプトが長くなると、大概ラベルが途中までしか表示されなくなります。



この記事に返信する


tds12

リンク

2017/2/18(Sat) 16:15:17|NO.78276

3.5β4の更新にそれらしいのがありますが、3.5β4でも起こりますか?
http://dev.onionsoft.net/trac/openhsp/browser/trunk/package/win32/doclib/history.txt#L36



ZAP

リンク

2017/2/18(Sat) 23:59:27|NO.78286

たぶん原因が分かりました。

どうやら文字列として"{"を使うとそれ以降のラベルが
ラベル一覧に出てこなくなるようです。

以下のスクリプトで*Label_01以降がラベル一覧に出なくなります。
3.5β4でも発生します。


*Label_00 MojiRetsu="{" *Label_01 a=0 *Label_02 a=1 *Label_03 a=2



ZAP

リンク

2017/2/19(Sun) 15:36:16|NO.78287

コメントの中にある場合は問題ないようです

*Label_00 MojiRetsu="";{ *Label_01 //"{" a=0 *Label_02 a=1 *Label_03 a=2



osakana

リンク

2017/2/19(Sun) 19:18:10|NO.78289

なぜかこうすると大丈夫みたいですね

MojiRetsu="\{"

もしかしてこれが複数行文字列の始まりと
見なされてるのかも?

{"



nori

リンク

2017/2/19(Sun) 22:48:31|NO.78291




osakana

リンク

2017/2/20(Mon) 00:30:12|NO.78292

対象文字列の近くにコメントとして "} と
書いておく事でも回避出来るみたいなので
やはりエディタでの複数行文字列の扱いが問題かもしれません。

MojiRetsu="{" ; "}
リンク先の「本」などダメ文字も試してみましたが
それはバージョン3.5β4では大丈夫みたいです。

MojiRetsu="本"



tds12

リンク

2017/2/20(Mon) 14:28:19|NO.78293

ここが原因ですね。
http://dev.onionsoft.net/trac/openhsp/browser/trunk/tools/win32/hsed3_footy2/Poppad.cpp?rev=840#L1376

閉じるダブルクォーテーションとした文字をもう一度見たとき
直前に中括弧があると複数行文字列と見てしまうようです。



tds12

リンク

2017/2/20(Mon) 14:34:57|NO.78294

これでもいけないようです。

mes "閲" *a *b *c



InoueSoftwear

リンク

2017/2/20(Mon) 19:33:19|NO.78295

>NO.78294
おそらく、Shift-JISでの
 「閲"」の文字コードが、「89 7B 22」
 「{"」の文字コードが、「7B 22」
と、「7B 22」でかぶっているからだと思います。

ほかにも、
 須" 「90 7B 22」
 捜" 「91 7B 22」
 畜" 「92 7B 22」
等があります。



ZAP

リンク

2017/2/20(Mon) 20:18:33|NO.78296

とりあえず原因が判明したのでスッキリしました!

当面、行末に ; "} を置くことで対処しようと思います。

皆さんありがとうございます。



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