Actually, I'd prefer to ONLY use 0-based indexes in arrays, despite the changes in code it would require. It's just more consistent, IMO, with other languages.
However, I actually think it may be a bad idea to offer both 0-and 1-based arrays, just due to the confusion that could ensue. As much as I might prefer to have 0-based arrays in eScript, at least I always know that arrays in eScript are 1-based now, and no one has to worry about bugs related to assuming the incorrect base.
I think that if you "Add" a new member it should start from 1.
Also in { member1, member2, ecc... should start from 1
But only allow array[0] fo force element index ad zero?
Author
Message
Austin POL Developer
Joined: 30 Jan 2006 Posts: 354 Location: San Diego, California
Posted: Tue Nov 14, 2006 5:07 pm Post subject:
You think a lot of things.. should be changed in POL.
Some good, most bad.
This is a bad one.
You're like a.. suggestaholic.
It doesn't do anything beneficial, it would just be work changing something
because... thats how it is in some other language you also like to use?
Really, what is a good reason to do something like this?
Time is better spent fixing the last few bugs in 097 and implementing suggestions that benefiteveryone.
This time I have to agree with Austin
Do you ever consider the consequences of such changes?
Most pol scripters would have to update thousands of scripts (yes, thousands, not even hundreds) to take into consideration arrays starting with 0 index and this... to have which benefit? This is a proposal who could have a meaning only when gathering ideas for a new emu. It's a nonsense for an emu with so many years of life
Yup... it would be bad, bad to change it, and there wouldn't be any measurable benefit at all. However, I don't think he was asking to change the base from 1 to 0, but to offer 0 as an option, in addition to 1.
But, I think that's an even worse idea!
Oh, and Austin... suggestions are cheaper than beer
I always wondered what 0 did... I always figured that if it was given a value, it would be given the length of the array or something. But using 0 as the start of an array would screw up how gump returns work in their entirety, who currently use 0 as the value returned.
error {"errortext" := "Array index out of bounds"}
Trying to set it likely returns the same error to the debug log, if enabled. The read error is the same as it would be upon entering any invalid number for the array index. Attempting to write to an as-yet non-existent index on an eScript array just happens to have the special behavior of causing the array to expand, so there isn't really a comparable error for writing to positive index values. Not sure what eScript would do if you used a double type to pass a number larger than the likely 4-byte int limit of array indexes, but that's just going off the deep end
As for gumps, I actually think that it would be been terribly helpful had eScript started out with 0-based indexes for that, as a practical reason. As it is now, when inserting values into gump arrays, you have to adjust the eScript index into the array by one from the value you set in the gump layout information. That's been my main gripe with eScript arrays. BUT...... I just happen to think that changing it now would cause even more confusion and trouble.
Re: use also 0 as index in arrays?
Author
Message
Shinigami POL Core Developer
Joined: 30 Jan 2006 Posts: 292 Location: Germany, Bavaria
Posted: Sun Nov 19, 2006 4:31 pm Post subject: Re: use also 0 as index in arrays?
innominabile wrote:
about use also 0 as index in arrays?
no
Shinigami
Re: use also 0 as index in arrays?
Author
Message
MuadDib POL Developer
Joined: 13 Feb 2006 Posts: 830 Location: Indiana, USA
Posted: Mon Nov 20, 2006 2:04 am Post subject: Re: use also 0 as index in arrays?