gpt4 book ai didi

Applescript - 如何迭代轨道

转载 作者:行者123 更新时间:2023-12-04 16:32:52 28 4
gpt4 key购买 nike

我是applescript的新手。我试图从各种来源学习它,例如 Doug's site , macscripter而这个 forum

仅出于学习目的,我尝试使用以下代码在屏幕上打印所有轨道名称:

tell application "iTunes"
set myTracks to (tracks of library playlist 1)
repeat with aTrack in myTracks
get name of aTrack
end repeat
end tell

但它只打印一个轨道名称,可能是最后一个......

那么,迭代列表的最佳方法是什么?

TIA,

鲍勃

最佳答案

你的代码很好;似乎什么都没发生的原因是所有 get ... do 是查找一个值并返回它。但是,您不对返回值执行任何操作,因此它会被忽略,并且只有循环的最后一次迭代才会返回任何内容。您需要在外部世界可见的循环内做一些事情(任何事情):分配给一个变量,显示一个对话框,等等。

如果要收集项目名称列表,可以执行以下操作:

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 秒。

关于Applescript - 如何迭代轨道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2755312/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com