モジュール外でのみ使用可能な変数をモジュールで定義する
わかる 2013/6/3(Mon) 10:16:02|NO.54518
おそらく初投稿。
スレッドタイトルのような事は可能ですかね?
例えば、
#deffunc hensu str y int x
という関数があったとき、
hensu "へんすう",5
で、「モジュール外でのみ使用可能な」変数を作成したいのです。
変な日本語で申し訳ないですが、ご教授お願いします。
ht. 2013/6/3(Mon) 11:19:34|NO.54519
あるモジュール内の変数に外からアクセスするには変数@モジュール名とします。
また、モジュール空間からグローバル変数にアクセスするには変数@とすれば可能です。
ですので、モジュール外で使用する変数を定義することは可能ですが、
「モジュール外でのみ使用可能」という条件は満たすことができません。
わかる 2013/6/3(Mon) 15:25:50|NO.54521
>>ht. さん
@モジュール名という概念は知っていましたが、@無しでやるのはやはり難しいのですね...。
hsp自体を弄りでもしないと出来ないようなのでこの質問は解決にしておきます。
ぴょぴょ 2013/6/3(Mon) 16:51:14|NO.54522
> @モジュール名という概念は知っていましたが、@無しでやるのはやはり難しいのですね...。
#define を使えば良いと思います。
#define global msg gStr@hsp
#define global val gVal@hsp
#module
#deffunc sample str _s,int _n
msg=_s
val=_n
return
#global
*Main
mes "文字列は["+msg+"]、整数値は["+val+"]です。"
sample "サンプル",5
mes "文字列は["+msg+"]、整数値は["+val+"]です。"
stop
↑
こんな感じですよ。