lua-users home
lua-l archive

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

On 16/06/2011 3.48, David Manura wrote:
On Wed, Jun 15, 2011 at 9:42 PM, Xavier Wang<>  wrote:
The length of a table t is only defined if the table is a sequence, that is,
all its numeric keys comprise the set {1..n} for some integer n.
is that mean, a empty table ({}) has no length defined?

Maybe say "non-negative integer n".  IMO, {1..0} == {}.

Maybe it's because I'm not a native english speaker but I find the wording " ... all its numeric keys comprise the set {1..n} for some integer n." a little ambiguous.

The point here is the verb "to comprise". According to Oxford Advanced Learner's Dictionary it may have these two complementary meanings:

"(a) to have sb/sth as parts or members; to be composed of sb/sth"

"(b) to be the parts or members that form sth"

It warns that (b) is less used, but since here we are talking about computer language specifications that will be read by people all around the world, with different education, mother language and computer skills, maybe it would be good to change that verb.

I double checked with Webster's New World Dictionary and it gives three meaning:

1. to include; to contain
2. to consists of; to be composed of
3. to make up; to form

as a synonym cites "include", so the actual wording might be really ambiguous if one gets it wrong.

I suggest rewriting it as:

" ... all its numeric keys consists of the set {1..n} for some integer n."

but a native English speaker is very welcome to give a better suggestion!

-- Lorenzo