跳转到内容

AppleScript 编程/列表和记录

来自维基教科书,开放世界中的开放书籍

为了获得最佳效果,您应该打开脚本编辑器,以便在阅读时测试代码和结果。

列表基础

[编辑 | 编辑源代码]

Applescript 有两种独立的数据结构类用于表示项目集合:list 类和 record 类。列表是对象的有序集合,可以是 AppleScript 理解的任何值或数据结构。说列表内容是有序的,意味着列表中的每个项目都占据一个编号位置。此编号称为项目的索引,可用于从列表中检索特定项目。

列表创建很简单,您在{} 之间放置的任何内容都是列表。

set myList to {} -- make a new list
set myList to myList & {1, "two", {7}, {fred:"barney", wilma:"betty", foo:"bar"}, 5} -- add a bunch of items to the list
set k to {6, "three", {8}, {george:"jetson", elroy:"jetson", judy:"jetson"}, 0}

在上例中,我们创建了两个列表。第一个列表l 包含 5 个项目,数字 1,字符串“two”,包含数字 7 的列表,包含三个属性的记录,fredwilmafoo,具有字符串值,以及数字 5。

我们可以通过多种方式访问这些项目。语句

item 3 of myList
third item of myList
myList's third item
myList's item 3

将全部返回相同的值,{7},即包含数字 7 的列表。

将字符串视为列表进行循环

[编辑 | 编辑源代码]

这按字符一次工作。(字符串是字符序列,并相应地表现。)

 
set my_string to "freedom is not freedom fries"
repeat with counter_variable_name from 1 to count of my_string
	set current_character to item counter_variable_name of my_string
end repeat

记录基础

[编辑 | 编辑源代码]

记录是属性的列表。您可以按名称从记录中检索项目,但不能按索引检索。例如,要检索属性列表{scooby:"doo", elroy:"jetson",grape:"ape"}elroy,我可以按名称检索它。

elroy of {scooby:"doo", elroy:"jetson", grape:"ape"}

这将返回字符串"jetson"

但不能按索引检索。

item 2 of {scooby:"doo", elroy:"jetson", grape:"ape"}

这将返回错误。

下一页: 别名和路径 | 上一页: 数字和字符串
主页: AppleScript 编程
华夏公益教科书