On Jul 14, 2011, at 2:12 AM, Keith Clarke wrote:
...ah yes, of course, thanks Jim - I forgot that 'delete item y' is
not the same as 'delete item *called* y' !
So, would itemoffset help...?
put "1,2,3,4,5,6" into theNumbers
repeat until theNumbers is empty
put any item theNumbers into n
do something
delete (itemOffset(n, theNumbers)) from theNumbers
end repeat
I realise that this may not be the most efficient layout (one more
line than yours!) but it reads nicely and could help in educational
settings when teaching the application of scripts to formulae that
use finite n-based series - I'm thinking here about permutations
(nCr), combinations (nPr), binomials, factorials, statistical
analysis, etc. Just a thought and hopefully not too much of a
hijacking of the thread :-)
Best,
Yes, and you could use a more visual logic...
put "1,2,3,4,5,6" into theNumbers
repeat until sum(theNumbers) is 0
put any item theNumbers into N
if N is not 0 then
do something
put 0 into item N of theNumbers
end if
end repeat
On 14 Jul 2011, at 08:23, Jim Ault wrote:
On Jul 14, 2011, at 12:05 AM, Keith Clarke wrote:
...so for a random selection, enforcing the use of all 6 items,
would this work?
put "1,2,3,4,5,6" into x
repeat until x is empty
put any item of x into y
do something
delete item y from x
end repeat
No, since the first pass could choose '2',
then the next pass could choose '6'
and produce the error "item 6 does not exist.
My preference would be to do the
put "1,2,3,4,5,6" into theNums
sort items of theNums numeric by random(1000000)
repeat for each item Y of theNums
do "some command" & Y
end repeat
Jim Ault
Las Vegas
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode