トピック
Mc mc014483

DATAで定義されたデータの個数

DATAで定義されたデータの個数を調べられる関数はありますか?ネットでいろいろ検索ワードを試行錯誤してみたのですが、上手いこと見つからずここに質問しました。申し訳ないです。
3そうだね
プレイ済み
返信[1]
親投稿
すぎのは SUGINOHA
ないかと dataの最後に最後を知らせる情報を入れて そこまでループで取得してカウントするぐらいでしょうか 配列の数ならLEN(配列名)とかあります。
4そうだね
未プレイ
返信[2]
親投稿
Mc mc014483
ありがとうございます。既に「無」を意味する数字として-1を使っているので-2という数値で代用してみます。
0そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
nan(not a number)を表す #NaN とかあれば、こういう目的にぴったりなんだけどね~~~ (反語)
4そうだね
プレイ済み
返信[4]
親投稿
HMF gunsofthemy
いろいろ試行錯誤しましたが、これ以外の方法が見つかりませんでした。さすがにエラー(OUT OF DATA)を検知することはできなかったよパト○ッシュ。 因みに、IF A$=="+" THEN ~ の+は、他の物に変えても動きますが他のDATAと被らないようにしないといけません。
1そうだね
プレイ済み
返信[5]
親投稿
ツララ LongIceSword
対象のDATA文を別スロットに置いておかないと使えない手ですけど DATA文を一行毎にPRGGET$()命令で文字列変数に取り込んで データの区切りの「,」の数をINSTR()命令でカウントしていけば個数を数えれるんじゃないです? 自分も前に色々試したことあるんですけど ループを回して数えなくても、LEN()命令みたく一発で幾つって出る良い方法ってないですかね。 記述するデータ値の文字数を何文字っていう風にルールを作って統一しておけば、文字数から自動的にデータの数も導き出せそうな気もするんですけど 同じスロット内にあるDATA文だとPRG系命令の対象に出来ないから、読み込み終わりの識別用の値を設定しておいてからのループ回ししか無いのかな・・・
1そうだね
プレイ済み
返信[6]
親投稿
Mc mc014483
みなさんのご意見より、DATAで定義する部分は別スロットにするのが使い勝手が良く、最良だと分かりました。ただデータの個数を数えるだけなのですが、それと同時にPRG系列の命令を学ぼうと思います。
0そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
補足 nan を直接書く方法はありませんが、定数式を使えば nan を書けない事もないです。見た目かっこわるいけど。 ↓こんな感じ data 1, 2, 3, 4, 1e308, 1e308*2, 1e308*2-1e308*2 read x while x==x ? x read x wend
0そうだね
プレイ済み
返信[8]
親投稿
マギー M191246
最終的に完成したプログラムは、 どこかのプロジェクトにファイルとして 保管しているはずなので それを文字列として読んで データの数を数えれば 自分自身を調べることもできそう。 たぶんだけど他のスロットを調べるのと そんなに手間は変わらないと思います。 余力があったら、やってみて。
0そうだね
プレイ済み
返信[9]
親投稿
Mc mc014483
結果、FOR~NEXT構文で配列変数の中身を一つ一つを0であるか0でないか判別して、一方を新しい配列に格納していくという方法でなんとかほしいだけの数のデータを抽出することができました。 アドバイスありがとうございました。 〆
0そうだね
プレイ済み