ExtensionType 類別
方法
ExtensionType
類別繼承自 DataType
,但也定義了擴充類型特有的額外方法
$storage_type()
:傳回用於儲存值的底層 DataType。$storage_id()
:傳回對應於$storage_type()
的 Type 識別符。$extension_name()
:傳回擴充名稱。$extension_metadata()
:以raw()
向量的形式傳回擴充 metadata 的序列化版本。$extension_metadata_utf8()
:以 UTF-8 編碼字串的形式傳回擴充 metadata 的序列化版本。$WrapArray(array)
:將儲存 Array 包裝成具有此擴充類型的 ExtensionArray。
此外,子類別可以覆寫以下方法來自訂擴充類別的行為。
$deserialize_instance()
:當初始化新的 ExtensionType 時,會呼叫此方法,並負責解析和驗證序列化的 extension_metadata (raw()
向量),以便 R6 ExtensionType 子類別的欄位和/或方法可以檢查其內容。實作也必須檢查storage_type
,以確保它與擴充類型相容。$as_vector(extension_array)
:將 Array 或 ChunkedArray 轉換為 R 向量。當 ExtensionArray 物件上的as.vector()
、包含 ExtensionArray 的 RecordBatch 轉換為data.frame()
,或 ChunkedArray (例如,Table 中的欄) 轉換為 R 向量時,會呼叫此方法。預設方法會傳回轉換後的儲存陣列。$ToString()
傳回字串表示形式,當列印此類型或此類型的 Array 時,將會列印到主控台。