プレイ日記
ナス ryoumasuhara
DEF内で変数を作って、?(A=1とか)DEF外で使おうとすると初期化されます。 つまり、 def a a=45 print a(この時は45) end 実行したあと、 print a(この時は0) 初期化されないようにする方法ってありますか? 一応キーを発行しました。ファイル名は、【NANKA_HENNANO】です。
3そうだね
プレイ済み
返信[1]
親投稿
だにえる haru2016nen
グローバル変数を使えば…
3そうだね
プレイ済み
返信[2]
親投稿
ユウキ rewqasdfvcxz
プログラムの1番上にa=0って書いておけばいいよ DEFの中で初めて書いた変数はDEFの中だけ使える
3そうだね
プレイ済み
返信[3]
親投稿
ナス ryoumasuhara
ありがとうございます! 試して見たいと思います。
1そうだね
プレイ済み
返信[4]
親投稿
だにえる haru2016nen
ユウキsの方法もあるけど、 VAR AとかDIM Aでもいいと思います。 (DEFの外でしないといけない)
1そうだね
プレイ済み
返信[5]
親投稿
グローバルとローカルってあるのよね DEF内でやるとローカル、外でやるとグローバルとなる。 ローカルはそのDEFを呼ぶたびに初期化され、終わるとメモリが解放されるんだっけね。 一番上にA=0っていうのは、暗黙の宣言を使ったものなのでDIM/VARを使った方が形としてよい(OPTION STRICT化するとき楽になる)
3そうだね
プレイ済み
返信[6]
親投稿
だにえる haru2016nen
DEFってGOSUBに似てるけど、 ローカル変数を使うから、 他のプログラムにコピぺしてもそのまま 使えるという利点がある。
3そうだね
プレイ済み
返信[7]
親投稿
ナス ryoumasuhara
ローカルとグローバルは知りませんでした。 うーん。プログムにDIMとVAR使おうかな…。
1そうだね
プレイ済み
返信[8]
親投稿
ユウキ rewqasdfvcxz
つまらないミスが減るから使った方がいいよ~ あまさとしおんさんが書いてるOPTION STRICTを最初に書いておけば書いたり書かなかったりのチグハグも無くなるよ!
3そうだね
プレイ済み
返信[9]
親投稿
ツララ LongIceSword
DEF 関数名 OUT A A=45 PRINT A END みたくDEFの中で使った変数をOUTの後に書いておくとDEFの外に取り出しておけたりしません?
1そうだね
プレイ済み