Applescript 是否有范围函数来创建数字列表?

Applescript 是否有范围函数来创建数字列表?,applescript,Applescript,我想在Applescript中创建一个连续的数字列表。可以使用repeat循环创建这样的列表,但这看起来很混乱。有这样的东西吗 range from 1 to 10 -> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 不,没有 AppleScript是一种非常简单的脚本语言,具有一个小的核心命令集 但它是可扩展的。您可以随意编写一个脚本添加项或提供此功能的库 PS:在AppleScript中,重复循环一点也不凌乱;-) 是的,首先回答最后一个问题,有一个列表重复循环列表

我想在Applescript中创建一个连续的数字列表。可以使用
repeat
循环创建这样的列表,但这看起来很混乱。有这样的东西吗

range from 1 to 10
-> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
不,没有

AppleScript是一种非常简单的脚本语言,具有一个小的核心命令集

但它是可扩展的。您可以随意编写一个脚本添加项或提供此功能的库


PS:在AppleScript中,重复循环一点也不凌乱;-)

是的,首先回答最后一个问题,有一个列表重复循环列表(使用四行):

set nlist to {}
repeat with n from 0 to 9
    set nlist2 to {n + 1}
    set nlist to nlist & nlist2
end repeat
nlist
--> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
基本上,如果你反复合并列表,你会创建一个列表列表, 鉴于

set nlist to {}
repeat with n from 0 to 9
    set nlist to {n + 1}
end repeat
nlist
--> {10}
…只会导致循环的最后一个编号。 (当然,肯定还有其他办法。)

最接近的一行等效范围可能是“第1项至第10项”-但仅适用于现有列表;例如:

将rangeB设置为{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
将nlist设置为范围B的第1项到第10项
nlist
-->{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

关于标题问题,如果这是您需要的函数,在Applescript中,它们被称为处理程序,没有预设的范围函数,但您可以为任务创建自定义范围函数,如下所示:

范围(a,b)
将nlist设置为{}
用n从a-1重复到b-1
将nlist2设置为{n+1}
将nlist设置为nlist&nlist2
结束重复
结束范围
--
范围(5,20)
-->{5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}

  • 我认为这个问题背后的真正问题(我最近才问过自己)是:“我来自电子表格世界,范围在哪里,AppleScript中的函数在哪里?”答案是:范围现在实际上是列表,或者列表的项,函数是处理程序,你需要编写一次,一开始这是一项额外的工作,但好处是添加定制功能,一个全新的可能性范围(更正:列表)是多么容易——而且很有帮助。AppleScript重复循环就是电子表格中的复制/粘贴循环,本质上是说,相比之下:这是一个函数,我想把它应用到列表a,它得到列表B和结果,然后再重复一遍,从这里到那里。(或不停地)是的,一开始复制/粘贴似乎更容易,我同意,用“用i重复”来重复一开始看起来有点深奥,但进一步考虑它实际上相当简单,在这么多编码情况下确实没有办法绕过它。这是一个核心引擎!“吃饭,睡觉,狂欢,重复!”;重复循环也可以升级:提供了比电子表格复制/粘贴方式更实用的可能性

非常彻底的回答。非常感谢勒内!