def set_at positions, val
      validate_positions(*positions)
      positions.map { |pos| @data[pos] = val }
      update_position_cache
    end
Change value at given positions
@param positions [Array<object>] positional values
@param [object] val value to assign
@example
dv = Daru::Vector.new 'a'..'e'
dv.set_at [0, 1], 'x'
dv
# => #<Daru::Vector(5)>
#   0   x
#   1   x
#   2   c
#   3   d
#   4   e