多次元配列をresizeした場合は初期値を配列にする
Closed this issue · 1 comments
stuncloud commented
要望
多次元配列をresize
した場合にEMPTYではなく子の配列を追加するようにすべき
ただしサイズが明確なdim
配列宣言時に限る
補足用コード
// 0.15.0
dim arr[0][1]
print length(arr) // 1
resize(arr, 1)
print length(arr) // 2
print type_of(arr[0]) // TYPE_ARRAY
print type_of(arr[1]) // TYPE_EMPTY ※
// ※ この場合動作的には以下と同等になって欲しい
// resize(arr, 1, [EMPTY, EMPTY])
stuncloud commented
dim宣言した多次元配列など、各次元のサイズが固定であればrisize
時に空の配列を追加する
dim arr[0][1] = 1,2
print arr // [[1, 2]]
resize(arr, 1)
print arr // [[1, 2], [, ]]
リテラル表記でサイズが異なる場合などは正しい多次元配列とみなさずEMPTY
を初期値とする
arr = [
[1, 2, 3],
[1, 2]
]
print arr // [[1, 2, 3], [1, 2]]
resize(arr, 2)
print arr // [[1, 2, 3], [1, 2], ]
初期値を指定した場合はそれが優先される
dim arr[0][1] = 1,2
print arr // [[1, 2]]
resize(arr, 1, 500)
print arr // [[1, 2], 500]