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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0603
わかるモジュール外でのみ使用可能な変数をモジュールで定義する3解決


わかる

リンク

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

こんな感じですよ。



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