Ваш код в порядке; Причина, по которой кажется, что ничего не происходит, заключается в том, что все, что делает get ...
, это ищет значение и возвращает его. Однако вы ничего не делаете с возвращенным значением, поэтому оно игнорируется, и только последняя итерация цикла что-либо возвращает. Вам нужно сделать что-нибудь (что угодно) внутри цикла, которое будет видно внешнему миру: назначить переменной, отобразить диалог, что угодно.
Если вы хотите собрать список названий предметов, вы можете сделать следующее:
tell application "iTunes"
set trackNames to {}
repeat with aTrack in tracks of library playlist 1
set trackNames to trackNames & name of aTrack
end repeat
end tell
Однако вы можете это исправить. Одной из мощных функций AppleScript является то, что, как вы можете получить имя трека, вы можете получить имя каждого трека в списке и перебирать его:
tell application "iTunes"
set trackNames to {}
repeat with aName in name of tracks of library playlist 1
set trackNames to trackNames & aName
end repeat
end tell
Но на этом этапе вам даже не нужен цикл, и вы можете использовать гораздо более простой
tell application "iTunes" to name of tracks of library playlist 1
И в качестве бонуса это будет намного быстрее: в моем быстром тесте три версии заняли 16,189 секунды, 32,656 секунды и 0,296 секунды соответственно.
person
Antal Spector-Zabusky
schedule
03.05.2010