lua-users home
lua-l archive

Re: Newbie questions regarding luasocket, tables

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


> > In this case, I think the argument for having #t return the real table
> > size isn't that it adds a feature, but that it removes an annoying
> > special case, leading to a more regular and predictable language.
> 
> I don't think so. For instance, many programs use tables with both
> "keys" and "indices", such as this:
> 
> polyline = { color = "red", thickness = 4;
> {0, 0}, {3.5, 4.3}, ...
> }
	Many times I use the array-part to indicate some of the fields
or to determine the order of them:
data = { "name", "id", "tel",
	name = "Tomás",
	id = 12,
	tel = "12345678",
	type = "programmer",
}
	In this case, it is useful to traverse the array-part (to get
the order or the valid fields) and index the record-part to get the
real values:
for _, key in ipairs(data) do
	print(key, data[key])
end
> When they iteract over the indices, they want the size of the array part,
> not of the entire table.
	Sure! I cannot remember when I had to count all of the entries
in a table, as someone already pointed out.
		Tomás

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