def []= *indexes, val
      positions = @index.pos(*indexes)

      if positions.is_a? Numeric
        modify_category_at positions, val
      else
        positions.each { |pos| modify_category_at pos, val }
      end
      self
    end
def []= *indexes, val
      positions = @index.pos(*indexes)

      if positions.is_a? Numeric
        modify_category_at positions, val
      else
        positions.each { |pos| modify_category_at pos, val }
      end
      self
    end
Modifies values at specified indexes/positions.
 @note In order to add a new category you need to associate it via #add_category
 @param [Array] indexes at which to modify value
 @param [object] val value to assign at specific indexes/positions
 @return modified vector
 @example
   dv = Daru::Vector.new [:a, 1, :a, 1, :c], type: :category
   dv.add_category :b
   dv[0] = :b
   dv
   # => #<Daru::Vector(5)>
   #   0   b
   #   1   1
   #   2   a
   #   3   1
   #   4   c