"ListVector" (コンパイルタイプ)

"ListVector"::[type]

指定された要素型を持つ一様のリストを表す.

詳細

  • "ListVector"Typedで使い,型を指定するためのコンストラクトに関連付けることができる.
  • "ListVector"の要素は任意のコンパイル型を持つことができる.
  • "ListVector"の要素はすべて同じ型を持つ.
  • 階数が1より大きい数値テンソルの場合は,"PackedArray"または"NumericArray"を使うことができる.

コンストラクタ

  • "ListVector"オブジェクトはコンパイルされたコードでTyped[{},"ListVector"::[type]]を使って作成することができる. »
  • CreateTypeInstance["ListVector"::[type],carr,len]は長さ len"CArray" carr から"ListVector"を構築する.carr はオプショナルで"Managed"でラップすることができる.

特性

  • "ListVector"::[type]list に対するInformation[list,"ElementType"]type を与える.

変換

  • リストのすべての要素が type に変換できる限り,List式は"ListVector"::[type]に変換することも"ListVector"::[type]から変換することもできる.
  • "PackedArray"

  • "ListVector"オブジェクトは"PackedArray"オブジェクトに変換することも"PackedArray"オブジェクトから変換することもできる.
  • "NumericArray"

  • "ListVector"オブジェクトは"NumericArray"オブジェクトに変換することも"NumericArray"オブジェクトから変換することもできる.

ランタイムエラー

    ArrayPartError

  • "ListVector"から要素を抽出することが必要な操作は,その要素が存在しない場合にはランタイムエラーを与えることがある.

例題

すべて開くすべて閉じる

  (2)

"ListVector"CompiledCodeFunctionの入力および出力として使うことができる:

コンパイルされたコードで"ListVector"を作成する:

スコープ  (1)

"ListVector"オブジェクトはコンパイル可能な任意の型を持つオブジェクトを含むことができる:

高階の配列は,ネストされた"ListVector"インスタンスで表すことができる:

"ListVector"の要素型を得る:

特性と関係  (1)

"PackedArray"は数値配列を表すために使うことができる:

しかし,非数値データには使えない:

これとは対照的に,"ListVector"型は階数1のリストしか表せないが,コンパイル可能な任意の型を持つ要素を含むことができる:

考えられる問題  (1)

部分アクセスによりエラーが生じる: