def delete(indice,axis=nil)
      if axis
        bit = Bit.ones(shape[axis])
        bit[indice] = 0
        idx = [true]*ndim
        idx[axis] = bit.where
        return self[*idx].copy
      else
        bit = Bit.ones(size)
        bit[indice] = 0
        return self[bit.where].copy
      end
    end
def delete(indice,axis=nil)
      if axis
        bit = Bit.ones(shape[axis])
        bit[indice] = 0
        idx = [true]*ndim
        idx[axis] = bit.where
        return self[*idx].copy
      else
        bit = Bit.ones(size)
        bit[indice] = 0
        return self[bit.where].copy
      end
    end
Return a new array with sub-arrays along an axis deleted.
 If axis is not given, obj is applied to the flattened array.
 @example
   a = Numo::DFloat[[1,2,3,4], [5,6,7,8], [9,10,11,12]]
   p a.delete(1,0)
   # Numo::DFloat(view)#shape=[2,4]
   # [[1, 2, 3, 4],
   #  [9, 10, 11, 12]]

   p a.delete((0..-1).step(2),1)
   # Numo::DFloat(view)#shape=[3,2]
   # [[2, 4],
   #  [6, 8],
   #  [10, 12]]

   p a.delete([1,3,5])
   # Numo::DFloat(view)#shape=[9]
   # [1, 3, 5, 7, 8, 9, 10, 11, 12]