Class: Arrow::FixedSizeListDataType

Inherits:
Object
  • Object
show all
Includes:
ListFieldResolvable
Defined in:
lib/arrow/fixed-size-list-data-type.rb

Instance Method Summary collapse

Constructor Details

#initialize(field, size) ⇒ FixedSizeListDataType #initialize(description) ⇒ FixedSizeListDataType #initialize(data_type, size) ⇒ FixedSizeListDataType

Overloads:

  • #initialize(field, size) ⇒ FixedSizeListDataType

    Examples:

    Create a fixed size list data type with Arrow::Field

    visible_field = Arrow::Field.new("visible", :boolean)
    size = 2
    Arrow::FixedSizeListDataType.new(visible_field, size)
    

    Create a list data type with field description

    description = {name: "visible", type: :boolean}
    size = 2
    Arrow::FixedSizeListDataType.new(description, size)
    

    Parameters:

    • The field of the fixed size list data type. You can also specify field description by Hash.

      See Arrow::Field.new how to specify field description.

    • The number of values in each element.

  • #initialize(description) ⇒ FixedSizeListDataType

    Examples:

    Create a fixed size list data type with Arrow::Field

    visible_field = Arrow::Field.new("visible", :boolean)
    Arrow::FixedSizeListDataType.new(field: visible_field, size: 2)
    

    Create a fixed size list data type with field description

    Arrow::FixedSizeListDataType.new(field: {
                                       name: "visible",
                                       type: :boolean,
                                     },
                                     size: 2)
    

    Parameters:

    • The description of the fixed size list data type. It must have :field value and :size value.

    Options Hash (description):

    • :field (Arrow::Field, Hash)

      The field of the list data type. You can also specify field description by Hash.

      See Arrow::Field.new how to specify field description.

    • :size (Integer)

      The number of values of each element of the fixed size list data type.

  • #initialize(data_type, size) ⇒ FixedSizeListDataType

    Examples:

    Create a fixed size list data type with DataType

    size = 2
    Arrow::FixedSizeListDataType.new(Arrow::BooleanDataType.new,
                                     size)
    

    Create a fixed size list data type with data type name as String

    size = 2
    Arrow::FixedSizeListDataType.new("boolean", size)
    

    Create a fixed size list data type with data type name as Symbol

    size = 2
    Arrow::FixedSizeListDataType.new(:boolean, size)
    

    Create a fixed size list data type with data type as Array

    size = 2
    Arrow::FixedSizeListDataType.new([:time32, :milli], size)
    

    Parameters:

    • The element data type of the fixed size list data type. A field is created with the default name "item" from the data type automatically.

      See DataType.resolve how to specify data type.

    • The number of values in each element.



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/arrow/fixed-size-list-data-type.rb', line 102

def initialize(*args)
  n_args = args.size
  case n_args
  when 1
    description = args[0]
    size = description.delete(:size)
    initialize_raw(resolve_field(description), size)
  when 2
    field, size = args
    initialize_raw(resolve_field(field), size)
  else
    message = "wrong number of arguments (given #{n_args}, expected 1..2)"
    raise ArgumentError, message
  end
end