My virgin attempt at recursion apparently gave no one a rush except me.
Be that as it may, now that I've written a recursive handler, I'm motivated to take it a step farther and generalize the handler to deal with strings of any number of unique characters (albeit of equal length):
on mouseUp put sansDuplicates(field "My List") into field "My List" end mouseUp
function sansDuplicates numberList if the number of lines of numberList < 2 then return numberList put line 1 of numberList into targetLine delete line 1 of numberList get allCombinations(targetLine) repeat for each line aPattern in it get offset(aPattern,numberList) repeat while it > 0 delete char it to (it+3) of numberList get offset(aPattern,numberList) end repeat end repeat return targetLine&return&sansDuplicates(numberList) end sansDuplicates
function allCombinations theDigits if length(theDigits) < 2 then return theDigits put 0 into charNumber put empty into theCombinations repeat for each char aDigit in theDigits add 1 to charNumber put theDigits into digitString delete char charNumber of digitString get allCombinations(digitString) repeat for each line aCombination in it put aDigit&aCombination&return after theCombinations end repeat end repeat return theCombinations end allCombinations
--
Rob Cozens CCW, Serendipity Software Company http://www.oenolog.net/who.htm
"And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee."
from "The Triple Foole" by John Donne (1572-1631) _______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution