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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0714
sin再宣言4解決


sin

リンク

2008/7/14(Mon) 08:22:23|NO.17291

dim命令で配列を作成したいのですが、後で増えていくので
再作成したいです。
VBの「ReDim Preserve」みたいな命令はHSPではあるのでしょうか?
最初にありえない数で作成しても良いのですが・・・。



この記事に返信する


flory

リンク

2008/7/14(Mon) 19:48:09|NO.17301

配列変数についてはプログラミングマニュアル(HSPスクリプトエディタの「ヘルプ」から「HSPプログラムガイドを開く」で見られます)の「配列変数」の項を参照してください。

でも一応書いとく。


HSPでは、配列は変数に代入した時点で自動的に確保されます。
よって、わざわざ配列を宣言する必要も、拡張する際に再宣言する必要もないのです。
極端な話、dim命令などを一切使わずとも配列を扱うことができてしまいます。

VBなど、他の言語に慣れた方は少し気持ち悪く感じるかもしれません。

HSPは比較的簡単にスクリプトを組めるように作られていますが、その反面、厳密性に欠けるところがあります。
この配列の自動確保にしても、けっこう特殊なふるまいをすることがあるので、自動確保されるからと言ってこれに頼り切らないようにしてください。



レヴィン

リンク

2008/7/14(Mon) 23:57:22|NO.17305

dimで宣言している範囲外の要素を代入していないのに
エラーが出ます。それだけは注意して下さい。

dim a,15 mes a(17)
とかやるといい感じに見たくないダイアログが表示されます。



sin

リンク

2008/7/15(Tue) 07:47:32|NO.17308

大変わかりやすい回答でした。
よく知らずにDimを使っていました。
ありがとうございました。



レヴィン

リンク

2008/7/15(Tue) 13:29:48|NO.17309

×代入していないのにエラーが出ます
○代入していないのに"参照すると"エラーが出ます



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