列表 List
介绍
列表,顾名思义,即是一个包含了多个元素的值的集合与容器。除此以外,如果您有其他编程语言的开发经验,您可以将列表理解成类似于数组的类型结构。
列表具有如下特性:
列表中的元素是有顺序的,按照插入的顺序进行排列
列表中的元素通过下标进行访问
何时使用列表?
当你的物品中,存在以下需求时,可以考虑使用列表:
需要结构化存储大量数据
需要一个容器用来存储许多数据
需要使用到列表自展开功能,即自动展示多行lore时
示例
定义一个列表
您可以通过[]
字面量语法来声明一个列表,并且列表中可以直接设置好其他元素,例如 [1, 2, 3]
,即包含了三个数字元素的列表。
具体示例如下:
data:
# 定义了一个含有三个数字的列表
number_list: '[1, 2, 3]'
# 定义了一个含有三个字符串的列表
string_list: '["1", "2", "3"]'
# 定义了一个含有混合类型的元素的列表
mixed_list: '[1, 2, "这是字符串值的3", 4, "这是字符串值的5"]'
# 定义了一个含有多个列表元素的的嵌套列表, 支持无限嵌套
nested_list: '[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]'
访问列表中的元素
您可以通过 list[idx]
来访问列表中的元素,其中,list
是已经定义好的列表,idx
是待访问的元素的下标。
具体示例如下:
define:
# 预先定义一个普通的数字列表, 方便后面演示使用
my_list: '[1, 2, 3, 4, 5]'
# 预先定义一个嵌套, 方便后面演示使用
my_nested_list: '[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]'
data:
# 访问列表中的第一个元素
my_first_elem: 'my_list[0]'
# 访问列表中的最后一个元素
my_last_elem: 'my_list[my_list.length - 1]'
# 访问嵌套列表中的第一个列表的第一个元素
my_nested_first_elem: 'my_nested_list[0][0]'
# 访问嵌套列表中的最后一个列表的最后一个元素
my_nested_last_elem: 'my_nested_list[my_list.length - 1][my_nested_list[my_list.length - 1].length - 1]'
# 👆上面的访问方式太长了, 下面是优化后的写法
# 1. 首先获取嵌套列表的最后一个元素, 也是一个列表
my_nested_last_list: 'my_nested_list[my_list.length - 1]'
# 2. 访问这个元素的最后一个元素
my_nested_last_elem: 'my_nested_last_list[my_nested_last_list.length - 1]'
追加一个元素
您可以通过 list.push(elem)
来追加一个元素,其中,list
是已经定义好的列表,elem
是待追加的元素。
具体示例如下:
data:
# 预先定义一个普通的数字列表, 方便后面演示使用
my_list: '[]'
action:
onKill:
# 在每次击杀一个生物时, 往列表中插入一个数字1
- 'run: my_list.push(1)'
# 更新物品
- 'update'
Last updated