跳至内容

注册 Arrow 扩展类型

用法

nanoarrow_extension_spec(data = list(), subclass = character())

register_nanoarrow_extension(extension_name, extension_spec)

unregister_nanoarrow_extension(extension_name)

resolve_nanoarrow_extension(extension_name)

参数

data

可选数据,包含在扩展类型规范中

subclass

扩展类型规范的子类。扩展方法将在此对象上分派。

extension_name

Arrow 扩展类型名称(例如,arrow.r.vctrs)

extension_spec

继承自 'nanoarrow_extension_spec' 的扩展规范。

返回值

  • nanoarrow_extension_spec() 返回一个 'nanoarrow_extension_spec' 类的对象。

  • register_nanoarrow_extension() 返回 extension_spec,不可见。

  • unregister_nanoarrow_extension() 返回 extension_name,不可见。

  • resolve_nanoarrow_extension() 返回一个 'nanoarrow_extension_spec' 类的对象,如果扩展类型未注册,则返回 NULL。

示例

nanoarrow_extension_spec("mynamespace.mytype", subclass = "mypackage_mytype_spec")
#> [1] "mynamespace.mytype"
#> attr(,"class")
#> [1] "mypackage_mytype_spec"    "nanoarrow_extension_spec"