投稿
カービィ★KIRBY Kirbystar_Nin751
ちょいと今息抜きに別のプログラム作ってるところです。 オリキャラ辞典的なプログラムなんですが、データ記述部のE.O.F処理をどうすれば良いか…これだとOut of dataで怒られますし…。 何か良いやり方ありません?
3そうだね
プレイ済み
返信[1]
親投稿
InDoor TheInDoor12
一時置きの変数を用意して、一つそれに読み込ませてEOFかどうか判定するというのはどうでしょう。
1そうだね
プレイ済み
返信[2]
親投稿
みどりむし shiyon_29
WHILE 1 READ CHR_NAME$[WORK] IF CHR_NAME$[WORK]=="" THEN BREAK READ CHR_YOMI$[WORK],CHR_INFO... WEND
1そうだね
プレイ済み
返信[3]
親投稿
マギー M191246
個人的には、 ダミーのデータを入れておきます。
1そうだね
プレイ済み
返信[4]
親投稿
カービィ★KIRBY Kirbystar_Nin751
うえこう 様» 私は折り返してると逆に見えづらくなる方で…。公開するときには折り返し有効にするようにしてみますね。
1そうだね
プレイ済み
返信[5]
親投稿
カービィ★KIRBY Kirbystar_Nin751
マギー 様» ダミーデータ…ですか。 DATA "","","",0…… みたいな感じですね。
0そうだね
プレイ済み
返信[6]
親投稿
マギー M191246
そうですね。 続く配列にも1つ分多く 定義が必要になりますけど。
1そうだね
プレイ済み
返信[7]
親投稿
カービィ★KIRBY Kirbystar_Nin751
うひっ、何とか表示できたっぽいです。 カラーのダミーデータを末尾に付ける方法で実現させました
0そうだね
プレイ済み
返信[8]
親投稿
れい rei-nntnd
こういうのこそ価値観・経験でるから面白い。 俺はMIDORIMUSI氏と同じ、最後に一つだけ空文字などEnd Of Data指示を入れて1レコード先読みする派。 格納先配列に無駄データは入らないし、 無駄データと同じデータを入れたい時にも対応できる。 DATAを変更する際にも最後のデータがEODを意味する無駄データなのか、 たまたま中身が空に見えるデータなのか、判断しやすい。 プログラムが見づらくなるのは慣れれば問題ない。
1そうだね
プレイ済み
返信[9]
親投稿
けい kei0baisoku
うーむ、両方あるかなぁ……… 「空」が他にあり得ない場合は空を末尾にして、空もあり得るデータなら#なり"END"なり見て終わりと分かるのを最後に置いて。 読むのがバラバラでも違和感無いデータなら先頭だけ読んで、いっぺんに読んだ方がスッキリするデータなら数分だけ末尾にあたるダミーデータ置いて……… うーむ、普通だ。誰か意表を突くやり方とかしてる人いないかなぁ(´ω`)
0そうだね
プレイ済み
返信[10]
親投稿
私の場合は、そのときの気分次第で変わります。 EOFをプログラムで使いたいときは、データとして保持します。(プチコンではLENが使えるので必然性はないです。) COPY命令で読み込めるようなデータなら、型の異なるデータをおいたりもします。 滅多に変更しないと思う場合には、最初にデータセット数を書いて、FORループを使うこともあります。
0そうだね
プレイ済み
返信[11]
親投稿
MIKI ifconfig
data 文はほとんど使わないんで、普通にファイルから読んで 1 行ずつ処理します。 ただこの1行持ってくる関数 fgets の仕様がまだ固まってなくてフラフラしてるとこ。どうも書きにくいのよね。 関数が out 使えない仕様が直行してなくて困ります。最近は配列で渡して配列返すのがマイブーム。
1そうだね
プレイ済み
返信[12]
親投稿
MIKI ifconfig
あ、var 関数がリファレンス的に使えるんでしたね。 buf$=load("txt:foo",0) line$ = sgets$("buf$") def sgets$(ref$) var s$=最初の行(var(ref$)) var(ref$)=二行目以降(var(ref$)) return s$ end みたいな感じ? ref$ がローカル変数と衝突したらどちらになるんだろう???
1そうだね
プレイ済み