def []=(*indexes, val)
      cast(dtype: :array) if val.nil? && dtype != :array

      guard_type_check(val)

      modify_vector(indexes, val)

      update_position_cache
    end
def []=(*indexes, val)
      cast(dtype: :array) if val.nil? && dtype != :array

      guard_type_check(val)

      modify_vector(indexes, val)

      update_position_cache
    end
Just like in Hashes, you can specify the index label of the Daru::Vector
 and assign an element an that place in the Daru::Vector.

 == Usage

   v = Daru::Vector.new([1,2,3], index: [:a, :b, :c])
   v[:a] = 999
   #=>
   ##<Daru::Vector:90257920 @name = nil @size = 3 >
   #    nil
   #  a 999
   #  b   2
   #  c   3