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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0921
MIZUSHIKI【ネタ投稿】#defineで疑似ローカル変数?【ひとりごと】1解決


MIZUSHIKI

リンク

2019/9/21(Sat) 11:49:13|NO.88463

#define を色々いじくってたらローカル変数っぽいもの(?)が出来ました。

#define global local_start %tunique %i0 #define global ctype local(%1) %tunique %1@%p #define global local_end %tunique %o0 a=1 : b=2 : c=3 mes a,1 : mes b,1 : mes c :pos 0 local_start local(a)=4 : local(b)=5 : local(c)=6 mes local(a),1 : mes local(b),1 : mes local(c) :pos 0 local_start local(a)=7 : local(b)=8 : local(c)=9 mes local(a),1 : mes local(b),1 : mes local(c) :pos 0 local_end local_start local(a)="a" : local(b)="b" ;: local(c)="c" mes local(a),1 : mes local(b),1 : mes local(c) :pos 0 ddim local(d),4 local(d)=1.2, 2.3, 3.4 foreach local(d) mes ", "+local(d)(cnt),1 loop mes "" :pos 0 local_end mes local(a),1 : mes local(b),1 : mes local(c) :pos 0 local_end mes a,1 : mes b,1 : mes c :pos 0
・宣言時だけでなく、ずっとlocal()表記をする必要があります。
・スコープは local_start, local_end で自分で区切る必要があります。
・Debugウィンドウ>変数>モジュールを見てもらうとわかりますけど、名前の違う変数をめっちゃ定義しているだけです。。。

まぁ、名前のかぶらない変数を何も考えず簡単に定義できるようにはなった?
local(temp)
みたいなの。
メモリの話されるとアレだけど。。。

・・・ローカル変数ってのは こうじゃなくちゃダメ!っていうのはあったりしますか?



この記事に返信する


MIZUSHIKI

リンク

2019/9/21(Sat) 15:08:40|NO.88469

更なる ネタひとりごと で申し訳ないですが、「{ }(全角中括弧)」に local_start,end を持たせてあげることで もうちょっとそれっぽい見た目になりましたv

#define global { { %tunique %i0 #define global ctype local(%1) %tunique %1@%p #define global } %tunique %o0 } a=1 : b=2 : c=3 mes a,1 : mes b,1 : mes c :pos 0 if a=1{ local(a)=4 : local(b)=5 : local(c)=6 mes local(a),1 : mes local(b),1 : mes local(c) :pos 0 if b=2{ local(a)=7 : local(b)=8 : local(c)=9 mes local(a),1 : mes local(b),1 : mes local(c) :pos 0 } mes local(a),1 : mes local(b),1 : mes local(c) :pos 0 } mes a,1 : mes b,1 : mes c :pos 0



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