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 sansDuplicatesfunction 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
