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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0903
名無しさんモジュール名と同じ変数名を使う3解決


名無しさん

リンク

2011/9/3(Sat) 21:05:12|NO.41059

モジュール名と同じ変数名を使おうとしています。


#cmpopt optcode 0 #module abc *in_abc abc=100 def=200 return #global gosub *in_abc@abc mes abc mes abc@abc mes def mes def@abc

を実行していただけるとわかると思うのですが、
モジュール(abc)内で変数(abc)に数を代入しています。
通常はabc@abcに代入されると思うのですが、
上記のスクリプトですとグローバル変数(abc)に代入されています。

これはバグでしょうか、それとも仕様ですか

HSP 3.3RC1



この記事に返信する


info

リンク

2011/9/3(Sat) 21:44:04|NO.41061

バグだと思います。
in_abc の部分で、確実に abc@ に代入されています。
今後どうなるかはわかりませんが。
モジュールと同じ名前の変数は避けた方が良いかもしれません。



Cookies

リンク

2011/9/3(Sat) 21:49:46|NO.41062

#moduleをHDLで検索すると、


モジュールは、必ず「#module」で開始を指示し、「#global」で終了しなければなりません。このようにモジュールの区間を指定することにより、その中を他から独立した空間にすることができます。
モジュール名は、18文字以内の長さで他の変数名などのキーワードと重複することはできません。
また、スペースや記号を含まない文字列を指定するようにしてください。 (モジュール名で使用できる文字種は、a〜zまでのアルファベット、0〜9までの数字、「_」記号となります。変数として使用できる文字列と同等です。)

とあります。
キーワードと重複してるのでは?



名無しさん

リンク

2011/9/3(Sat) 22:02:09|NO.41063

質問する前に読んでおいたのですが、完全に見落としていました
そのようですね
重複しないようにしたいと思います

回答してくれた方々ありがとうございます



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