HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0621
初心者配列変数の要素数2解決


初心者

リンク

2008/6/21(Sat) 15:06:17|NO.16873


repeat dim A,20,20 dim B,10,10 Aの内容を表示する処理 ←1 loop

Aの内容がBの内容を超えると、1で要素のエラーになってしまいます。


repeat dim A,20,20 dim B,20,20 Aを表示する処理  loop

にすると、うまくいくのですが、
なぜこうなるのか意味がよく解からないので教えてください。



この記事に返信する


yamineko

リンク

2008/6/21(Sat) 15:33:23|NO.16875

うちで試した限りでは、
Aの要素数を超えたところでエラーが出ているようです。
 → repeatに回数を指定していないから

どういう表示ルーチンを組んだのか分かりませんが、
表示にもBを絡ませなければ、Bは影響しないはずだと思います。
 → 僕は表示に mes a(cnt) を使った。

ちなみに、質問とは関係ありませんが、

repeat〜loopの中にdimを入れると、
繰り返しごとにメモリを確保+初期化しているので、
無駄が多いように思います。
(配列に内容を書き込んでも初期化される)

dim A,20,20
dim B,10,10
repeat length(a)
Aの内容を表示する処理 ←1
loop

とした方が良いんじゃないかなぁと思います。



初心者

リンク

2008/6/21(Sat) 16:49:14|NO.16877

すいません、考えてたら自己解決しました。

関係ないと思った箇所を省いてしまったので
おかしな処理になっていました。

↓簡単に書くとこう


repeat 20 dim A,20,20 dim B,10,10 A(cnt,0)=AA B(cnt,0)=BB mes AA loop

思惑では0を20個表示できるのに、
10個でエラーになっていたので質問したのですが、

Bの要素にも代入したのを忘れていた為でした。
Bは表示しないので忘れていましたorz

それと、dimはrepeatの外にだそうと思います。
ご助言ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.