Как мне составить список всех возможностей элементов в списке с помощью AppleScript?

#list #applescript

#Список #applescript

Вопрос:

Я хочу составить список, используя AppleScript, который следовал бы следующим правилам со списком ввода, поэтому скажем, что мой ввод был

  a
 b
 c
  

Я бы хотел, чтобы этот список выглядел примерно так, если моя длина равна 3,

  aaa
 aab
 aac
 aba
  

Затем в конечном итоге получается «ccc»

Как я могу выполнить итерацию по списку элементов, чтобы сгенерировать полный список всех комбинаций?

В этом трехзначном списке длиной 3 должно быть около 23 или около того возможностей.

Комментарии:

1. Добро пожаловать в Stackoverflow. Это сайт, где пользователи получают помощь в написании кода, когда они сталкиваются с камнем преткновения и им нужна помощь в решении проблемы. Таким образом, ожидается, что вы покажете, что работаете над кодом, а не ищете кого-то, кто напишет его за вас

Ответ №1:

 set myList to words of (do shell script "echo {a,b,c}{a,b,c}{a,b,c}")
  

Комментарии:

1. Это могло бы сработать (я знаю сценарии оболочки, но не applescript), но на самом деле это решение оболочки, а не решение applescript.

2. это отличное решение, поскольку выполнение команд командной строки для управления списками значительно экономит время. 1

3. Точный синтаксис этого можно использовать аналогично другому ответу, но это дает более мгновенный ответ, вместо ожидания 50 или около того часов для завершения программы. Большое спасибо!

Ответ №2:

Это 27:

 set inputlist to {"a", "b", "c"}
set outputlist to {}

repeat with i1 in inputlist
    repeat with i2 in inputlist
        repeat with i3 in inputlist
            copy i1 amp; i2 amp; i3 to the end of outputlist
        end repeat
    end repeat
end repeat

return outputlist
  

Результат:
{«aaa», «aab», «aac», «aba», «abb», «abc», «aca», «acb», «acc», «baa», «bab», «bac», «bba», «bbb», «bbc», «bca», «bcb», «bcc», «caa», «cab», «cac», » cba», «cbb», «cbc», «cca», «ccb», «ccc»}

Комментарии:

1. Этот ответ сработал бы для меня, если бы это не отнимало так много времени. Это отличный маленький скрипт, если мне нужна отдельная строка, чтобы делать что-то с каждым по отдельности. Хотя спасибо за ваш ответ. Я, вероятно, добавлю его в свой iCloud для справки.