ExtensionType 类
方法
ExtensionType
类继承自 DataType
,但还定义了特定于扩展类型的额外方法
$storage_type()
: 返回用于存储值的底层 DataType。$storage_id()
: 返回与$storage_type()
对应的 Type 标识符。$extension_name()
: 返回扩展名称。$extension_metadata()
: 返回扩展元数据的序列化版本,以raw()
向量形式。$extension_metadata_utf8()
: 返回扩展元数据的序列化版本,以 UTF-8 编码字符串形式。$WrapArray(array)
: 将存储 Array 包装到具有此扩展类型的 ExtensionArray 中。
此外,子类可以覆盖以下方法以自定义扩展类的行为。
$deserialize_instance()
: 此方法在初始化新的 ExtensionType 时被调用,负责解析和验证序列化 extension_metadata (一个raw()
向量),以便其内容可以被 R6 ExtensionType 子类的字段和/或方法检查。实现还必须检查storage_type
以确保它与扩展类型兼容。$as_vector(extension_array)
: 将 Array 或 ChunkedArray 转换为 R 向量。此方法由as.vector()
在 ExtensionArray 对象上调用,当包含 ExtensionArray 的 RecordBatch 被转换为data.frame()
,或当 ChunkedArray (例如,Table 中的一列) 被转换为 R 向量时。默认方法返回转换后的存储数组。$ToString()
返回一个字符串表示,当此类型或此类型的数组被打印时,它将被打印到控制台。