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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0910
オチラモジュール変数のIDについて8解決


オチラ

リンク

2009/9/10(Thu) 01:19:14|NO.27608

//モジュールの定義
#module sample p0
#modinit
return
#global

//モジュールの生成
repeat 10
newmod mod, sample
loop

//モジュールのランダム破棄
repeat 5
delmod mod( rnd(10) )
loop

//モジュールの再生成
newmod mod, sample ;←このモジュール型変数のIDを知りたい
stop
//ここまで

上記のモジュール型変数のIDがわからないと、
delmod mod(ここにID) などができません;
statに代入されてるわけじゃないし…
varuseで調べるのも何か違う気がするし…
多分普通に定義されていると思うのですが、見つけられません;

どなたか、モジュール変数の要素を追加した際、
delmod等でランダムに消された番号も考慮され、
自動的に配分されたIDを知る方法を教えてください;



この記事に返信する


ORZ

リンク

2009/9/10(Thu) 03:16:51|NO.27609

ヒント
dim mod



ORZ

リンク

2009/9/10(Thu) 03:19:41|NO.27610

全然見当違いな事かいた。ごめりんこ。
foreach利用して調べたりするしかないのでは。



ANTARES

リンク

2009/9/10(Thu) 03:54:02|NO.27613

 自分で覚えましょう。

<前略> //モジュールの生成 repeat 10 newmod mod, sample: imod++ loop //モジュールのランダム破棄 repeat 5 delmod mod( rnd(10) ) loop //モジュールの再生成 newmod mod, sample: targetimod=imod: imod++;←このモジュール型変数のIDを知りたい newmod mod, sample: imod++ delmod mod(targetimod) stop



shinkun

リンク

2009/9/10(Thu) 08:02:27|NO.27614

以下の NO.26943 で SATTO さんが示してくださっているスクリプトが参考になります。
http://hsp.tv/play/pforum.php?mode=all&num=26888

#modinit 内の getaptr がそれです。これでそのモジュールが確保されている配列中のインデックスを取得できるようです。
ちょっと面倒ですが、これを使って #modinit 内でモジュール外の変数に代入して、それを擬似 stat として利用すればどうでしょうか?

うーん。こんな裏技みたいなのはあまり使いたくないんですが…。何か良い方法はないもんですかねぇ…。



shinkun

リンク

2009/9/10(Thu) 12:23:14|NO.27619

あー、インデックス使うのではなく、直接 thismod 値使えば良いですね。

#module mod  #modinit   stat_@ = thismod   return #module  newmod x, mod  delmod stat_
前のレスの補足として、上記 thismod を getaptr(thismod) にすれば、stat_ にはインデックス(ID)が格納されます。



A

リンク

2009/9/10(Thu) 13:24:43|NO.27620

 

#module sample p0 #deffunc get_id var mref id,1 return id #modinit get_id thismod return #global repeat 10 newmod mod,sample mes stat loop



shinkun

リンク

2009/9/10(Thu) 17:32:51|NO.27623

あ、すいません。私、色々ウソ書いてたみたいですね。携帯から打ってたもので…。
以下の様にアドレス書き込むつもりでいました。

#module mod d #modinit stat_@ = varptr(thismod) return #global newmod x, mod mes varuse(x(0)) dupptr p, stat_, 16, 5 delmod p mes varuse(x(0))
でも、A さんがかなりスマートなものを提示してくださってますね。
私の出る幕じゃない…。(^^;

A さんのスクリプトを読んで色々と新発見する事がありました。
ありがとうございます。



オチラ

リンク

2009/9/10(Thu) 23:12:53|NO.27632

えと…mrefでthismodのメモリ内容を他の変数に割り当てると
IDが見れるという事でしょうか。
これは自分で探しても絶対見つからなかったと思います。
これを機にポインタ関連の関数を一通り見てみます。
本当にありがとうございました。



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