repeat with i=
Jim Ault
jimaultwins at yahoo.com
Thu Jul 14 10:13:27 EDT 2011
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
More information about the use-livecode
mailing list