#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 для справки.