コンテンツにスキップ

IARRAY

Category: 配列操作

書式

IARRAY
IARRAY()

引数

なし

戻り値

空の汎用配列

解説

空の汎用配列を返す。

主な用途は以下の2つ:

1. 配列の初期化

初期化せずに ,= で要素を追加すると、インデックス0に不要な空文字列要素が生成される。IARRAYで初期化することでこれを防ぐことができる。

2. 要素の削除

配列要素にIARRAYを代入することで、その要素を完全に削除し、後続の要素をシフトすることができる(空文字列を残さない)。空文字列を代入して消したつもりになると、要素の位置に空文字列が残り、要素数も減らない。ただし Tc603-1以降、その要素が配列やハッシュ(入れ子)のときは、削除されずに空の配列に置き換わる。入れ子の要素を削除するときは範囲指定で _a[1, 1] = IARRAY と書く。

要素を完全に削除すると、後ろの要素が前に詰められて位置が変わる。配列のインデックスの番号が変わってはいけない場合は、IARRAY を使わないこと。

使用例

// 初期化なしの場合(望ましくない結果)
_myarray ,= "hoge"
_myarray ,= "hogehoge"
// 結果: ("","hoge","hogehoge")

// IARRAYで初期化した場合
_myarray = IARRAY
_myarray ,= "hoge"
_myarray ,= "hogehoge"
// 結果: ("hoge","hogehoge")

// 要素の削除
_myarray = ("hoge","hogehoge")
_myarray[0] = IARRAY
// 結果: ("hogehoge") — 要素が削除されてシフト

互換性

  • YAYA: 初期から利用可能
  • AYA: 5.8以降