投稿
i7 2630QM 634218
配列変数とは何ですか? ついでにDATファイルとは何のことか知りたいです
1そうだね
プレイ済み
返信[1]
親投稿
[数字]が後ろについた変数 SCORE[5]とかNAME$[3]とか。 最大の魅力は数字の部分に変数が使えること。 ちょっと面倒だが数字をいくつ使うか決める必要がある。 DIM SCORE[3]なら0から2まで使える DIM SCORE[10]なら0から9まで使える
1そうだね
プレイ済み
返信[2]
親投稿
i7 2630QM 634218
よ、よくわからん(^^; 使用可能の範囲の数字を指定すると何が良いのですか?
1そうだね
プレイ済み
返信[3]
親投稿
指定しないとエラーが出る
0そうだね
プレイ済み
返信[4]
親投稿
i7 2630QM 634218
例えば、どういう命令に使いますか?
0そうだね
プレイ済み
返信[5]
親投稿
i7 2630QM 634218
順番に取り出すとは、どうやってやるのですか?
0そうだね
プレイ済み
返信[6]
親投稿
0918nobita nobita0918
組み込みの命令/関数で引数として配列を渡す場合はあんまりないけど、 複数のデータを用意して、順番に取り出したり、 なにか解析をさせるときに結果を順次記録していくのに使うね。 ひょっとしたらOSもどきのウィンドウシステムもどきにも応用されてるんじゃないかな。 DIM A[0] この状態では要素(配列に含まれるデータの個数)が0だよね。後からここにデータを追加していくことをプッシュといって、「PUSH 配列名, 数値または文字列」でできる。
0そうだね
プレイ済み
返信[7]
親投稿
0918nobita nobita0918
今後配列に文字列をプッシュする場合は、予め配列を宣言する(DIM)ときに配列名の末尾にドルマーク($)をつけないといけないことに注意。なかでも$を付けずに宣言した配列、つまり数値の要素しか存在しない数値配列の場合は、DATファイルで保存することができる。
0そうだね
プレイ済み
返信[8]
親投稿
i7 2630QM 634218
DATファイルに数値が格納されているということは分かったけれど、DATファイルを読み込んだあとのことがわからない、、、
0そうだね
プレイ済み
返信[9]
親投稿
0918nobita nobita0918
LOADは実は関数のタイプもある。 DATを読み込んだあと配列にぶち込む感じ。 DIM A[0] A=LOAD("DAT:HOGE", FALSE) ダイアログ出したくないならFALSEって書くといい ダイアログが出なくなる
0そうだね
プレイ済み
返信[10]
親投稿
i7 2630QM 634218
("DAT:HOGE")の()には何の役割があるんですか?
0そうだね
プレイ済み
返信[11]
親投稿
MIKI ifconfig
役割というか、プチコンの決まりで、 値を返す「関数」は 関数名(引数) で定義。値を返さない「命令」は 命令名 引数 で定義、という文法になってます。
0そうだね
プレイ済み
返信[12]
親投稿
マギー M191246
すみません。 確認したいのですけど A=LOAD("DAT:ファイル名") という書式は、ないですよね?
0そうだね
プレイ済み
返信[13]
親投稿
マギー M191246
ごめんなさい。 0918nobitaさん宛です。
0そうだね
プレイ済み
返信[14]
親投稿
マギー M191246
ちくわさんへ。 配列変数とは、変数そのものを 番号で扱えるようにするものです。 例えば、同じような役割の変数が、 いくつも必要なとき A1,A2… とつけてもいいですけど A[1],A[2]… としておくと、 例えば、10番目の変数だったら、 A[10]というふうに指示できて 都合がいい場合があります。 (実際は、0から始まるので一つ少ない。) そういうときに使います。
0そうだね
プレイ済み
返信[15]
親投稿
マギー M191246
DATファイルには、 グラフィックのデータ1ページ分を まるごと保存したファイルと 数値配列のデータを保存した ファイルの2種類が、あります。
0そうだね
プレイ済み
返信[16]
親投稿
マギー M191246
プログラムなどでデータを入れた 数値配列を保存するときは、 SAVE"DAT:ファイル名",配列名 読み込むときは、 LOAD"DAT:ファイル名",配列名,FALSE とすると、できると思います。 (数値配列を保存したDATファイルのみ)
0そうだね
プレイ済み
返信[17]
親投稿
i7 2630QM 634218
なるほど、
0そうだね
プレイ済み
返信[18]
親投稿
ヨッシー okkun2002
DIM A[10] FOR I=0TO 9:A[I]=RND(2)NEXT FOR I=0TO 9:PRINT A[I]:NEXT みたいなときに使えます。って、解決している!
0そうだね
プレイ済み