lua-users home
lua-l archive

Re: Removing holes from a list

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


2015年09月26日 17:44 GMT+02:00 Luiz Henrique de Figueiredo <lhf@tecgraf.puc-rio.br>:
>
> Try this:
>
> list=table.pack(1,2,3,nil,4,5,nil,nil,6,7)
>
> local n=0
> for i=1,list.n do
> if list[i]~=ni then
> n=n+1
> list[n]=list[i]
> end
> end
> list.n=n
>
> for k,v in ipairs(list) do print(k,v) end
This is a little like one of my solutions, but neater. Thanks.
However, #list is still 10. One needs, before resetting list.n,
for i=n+1,list.n do list[i]=nil end

AltStyle によって変換されたページ (->オリジナル) /