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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0901
absdefine命令を使ったgosub3解決


abs

リンク

2006/9/1(Fri) 16:43:53|NO.2220

#define命令を使って、例えば

rx=30:ry=40:r1=50:gosub *test

という命令を

calc test(rx=30,ry=40,r1=50)

という風に記述できますか?

#define calc(%1,%2=0,%3=0,%4=0) rx=%2:ry=%3:r1=%4:gosub *%1

とやれば、一応動作するのですが、この場合

calc test,30,40,150

という命令になり、決まった順に変数が代入されます。
rx,ry,r1といった変数の名前を任意に変えたいです。

可能なら教えてください。



この記事に返信する


なたで

リンク

2006/9/1(Fri) 17:35:10|NO.2222

こういうのはどうでしょうか。


#define calc(%1,%2,%3=0,%4,%5=0,%6,%7=0) %2=%3:%4=%5:%6=%7:gosub *%1 calc test,rx,30,ry,40,r1,150 stop *test mes rx mes ry mes r1 mes "stop" return



osakana

リンク

2006/9/1(Fri) 19:13:12|NO.2224

いい加減ですがこんなんとか。

#define calc(%1,%2,%3,%4) %2:%3:%4:gosub *%1 calc test,rx=30,ry=40,r1=50 stop *test mes rx mes ry mes r1 return



abs

リンク

2006/9/1(Fri) 20:08:11|NO.2227

お二人のサンプルを参考にして、下のようにしてみました。
testのあとにセミコロンが一つあるのがちょっと気に食わなぃ ・・(・ω・)
まぁ、それは気分的な問題なので、これでやっていこうと思います。
ありがとうございました。


#define ctype calcRef(%1,%2,%3) %1:%2:%3 #define calc(%1,%2) calcRef%2:gosub *%1 calc test, (rx=30,ry=40,r1=50) stop *test mes rx mes ry mes r1 return



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