トピック
まりを tomoyaTT88

DIMやVARで できること

プログラムをコンパクトにできると聞いた。 否! いまいち使い方ときっかけが浮かばぬ! だいたいの人が使っているのを見るが そんなに便利なのか…?
1そうだね
プレイ済み
返信[1]
親投稿
shoum shoum0403
DIMは配列変数に使うときに必要ですね。VARはOPTION STRICT宣言したときに、全ての変数宣言が必要らしいので、あまり、VARは僕は使いません。DIMはけっこう使います
1そうだね
プレイ済み
返信[2]
親投稿
だにえる haru2016nen
VARとDIMは(隠し関数を除けば) 全く同じです。 宣言した変数が使われるわけなので、 どんな変数がそのプログラムで利用されて いるのかが一目瞭然というわけです。 それにより、無駄な変数が見つけられたり なんかします。
2そうだね
プレイ済み
返信[3]
親投稿
だにえる haru2016nen
別に便利というわけではありません。 プログラムが分かり易くなる っていう感じです。 初心者が BUTTON()の数値を受けとる変数名を 「A=BUTTON」だったり 「BT=BUTTON」だったりと バラバラにしてしまう事がありますが、 それを防ぐために 「VAR BT 'ボタンの数値を受けとる変数」 みたいにする感じです。
3そうだね
プレイ済み
返信[4]
親投稿
自作の命令や関数を作るDEF命令を使う場合に真価を発揮します DEFの中でVARやDIMを使って変数を宣言するとローカル変数として定義する事が可能です DEF A() VAR RET=1: RETURN RET END DEF B() VAR RET=2: RETURN RET END ?A(),B()
7そうだね
プレイ済み
返信[5]
親投稿
こういう風に2つの関数に同じ名前があっても重複エラーにならないし お互いの値が影響しあいません 更にDEF の外に同じ名前の変数があっても影響を受けません VAR I=10 ABC ?I DEF ABC VAR I=2 ?I END こんな風に書いたとしてもDEFの中のIと外のIは別の変数だと理解してくれます FOR文の繰り返し制御に使う変数や 座標を入れるX,YなんかもDEF毎に名前を変えずに済むので便利です
6そうだね
プレイ済み
返信[6]
親投稿
使う目的 1.OPTION STRICTとの合わせ技によるミスタイプの検知 2.スコープの変更
0そうだね
プレイ済み
返信[7]
親投稿
(もっとも、暗黙宣言でもスコープ効いたような気がするけど見えないので怖い)
0そうだね
プレイ済み
返信[8]
親投稿
変数ってそもそもはといえばメモリ番地だからねぇ 「101番を56減じて」とか「102番を100にして」とか分かりにくいでしょ。 だからHPとかMONEYとか名前付けられるようにしてるわけ
0そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
文字列で指定した変数の中身を返すことも出来ます。 A=100:B$="ABC" PRINT VAR("A"),VAR("B$")
2そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
VARもDIMも基本的に変数を宣言するのに使います。(この部分に関してはVARもDIMも全く同じ) しかし、プチコン3号では配列変数以外は宣言無しでも使えるためそれ以外で使用するとすればOPTION STRICTを使用時やローカル変数使用時でしょうね。 VARのDIMにない要素としては関数としての側面を持つことです。 これによって動的なアクセスが可能になるだけではなく自由なスロットの変数の値を読み出すことができます。 さらに左辺値にもなるので自由なスロットの変数を書き込むことが可能です。 これによってスロットをまたがるプログラムを作るのが大変簡単にできます。 その辺の具体的な使用方法や使用例に関しては下記のトピックスをご覧になってください。 https://miiverse.nintendo.net/posts/AYIHAAAEAACHVRTs1c4kFA
2そうだね
プレイ済み