Petitverse
ゲストさん (
ログイン
)
ログイン
コミュニティ内検索
コミュニティ一覧
Petitverse ご利用ガイド
Petitverse からのおしらせ
プチコン 非公式コミュニティ
プレイ日記
うょリウム(元 SPDX)
◆UTOEg1c1vr.B
2020/6/17 23:37
誰か教えてくださーい。
PUSHやUNSHIFTを使わずに
配列の要素数は変えられますか?
1次元配列です。
GSAVEやGLOADで使います。
コメント
こういち
2020/6/18 8:00
◆ou0jbJnEJ0Kb
DEF RESIZE(N)
DIM A[N]
RETURN A
END
DIM A[0]
A=RESIZE(10)
みたいな。
元の値を保持したいときはDEFに配列ごと渡してボクの好きなCOPYを使うといい
りょうたんぽ
2020/6/18 12:35
◆GoCg6EMf7SSc
↑
DEF RESIZE S,N
DIM D[N]
COPY D,S
COPY S,D
END
こういち
2020/6/18 13:37
◆ou0jbJnEJ0Kb
りょうたんぽさん
DEF RESIZE(S,N)
DIM D[N]
COPY D,S,0,MIN(LEN(S),N)
RETURN D
END
かな…
要素数省略すると自動で調整されたはず。
それはそうと、プチコン4ではRESIZEが標準装備されてるらしい。
りょうたんぽ
2020/6/18 14:31
◆GoCg6EMf7SSc
自動拡張だけじゃなく自動縮小もされる、ということですか? なるほど……まだ勉強不足ですね……
プチコン4のRESIZEは
RESIZE ARRAY,SIZE0[,SIZE1[,SIZE2[,SIZE3]]]
という形で使えますよね。1次元では0も指定できたのでPOPのループせずに済みます。
(ただし多次元配列は SIZE0のみ変更可能 & 0 指定不可)
りょうたんぽ
2020/6/18 14:32 ネタバレ
◆GoCg6EMf7SSc
あと配列関連だと、FINDも標準装備です。SUMも欲しいけど、BIQUAD駆使すればいけたような。まあそこまでいくと本題から外れてしまいますが……
このコメントはネタバレを含んでいます。
このコメントをひらく
moh6an
2020/6/18 16:30
◆6Z.AzgCiEzTT
MOHANでの話ですが
GLOAD/GSAVE用に極端に大きい領域を後から確保しようとすると
エラー終了してしまうことがあります(連続したメモリが確保できないことによるエラー)のでお気をつけを。
うょリウム(元 SPDX)
2020/6/18 23:51
◆UTOEg1c1vr.B
ありがとうございました。
なるほどDEF内でのRETURNで変えられるとは…
しかしまわりくどいですね。
本当は二重定義してもエラーしない
仕様なら良かったんですけどね。
こういち
2020/6/19 13:09
◆ou0jbJnEJ0Kb
りょうたんぽさん
縮小はされなかったはず。
mohさん
それは真理。連続した領域を確保しないといけないのは配列の欠点。その代わりパフォーマンスは良い。(プチコンの配列遅いけど)
うょリウム(元 SPDX)
2020/6/20 0:25
◆UTOEg1c1vr.B
実を言うと要素数とか変更しなくても
解決してしまいました。
GSAVEした時と同じ範囲でGLOADすれば配列に余白があっても大丈夫という結論でした…
あーなぜこんな簡単なことに気がつかなかったのだー。
コメントを書く
こちらは「プチコン3号」「プチコンBIG」など、
プチコンシリーズ
に関する話題を扱った
コミュニティです
プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
ユーザー登録なしで書き込みができます
秘密の合い言葉は成りすましの防止 (
トリップ機能
)、書き込みの編集時の本人認証に使用します
秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります
normal
happy
like
surprized
frustrated
puzzled
画像
ネタバレ
投稿する
-
WEB PATIO
-