Cog
  • 首页
  • 导论
    • 脚本
    • 指令
  • 配方
    • 物品
    • 标签
    • 原版配方修改
    • 模组配方修改
    • 通用配方修改
    • 配方材料替换
  • ZenCode
    • 数据类型
    • 运算符
    • if
    • switch
    • 循环
    • 数组
    • List
    • 映射
    • 数学函数
    • 函数
    • lambda 表达式
    • 预处理器
    • OOP
      • 自定义类
      • 拓展类
      • 空类型安全
      • 运算符重载
      • 泛型
    • 变量代理
  • 高级运用
    • Tooltip
    • 属性修改
    • 物品条件
    • 物品转换器
    • 配方函数
    • 事件
    • 全局战利品修饰器
      • 战利品修饰器
      • 方块掉落修改
      • 实体掉落修改
      • 战利品修饰器管理器
  • ContentTweaker
    • 前言
    • 资源文件
    • 物品
    • 方块
    • 流体
    • 创造标签
    • 高级运用
由 GitBook 提供支持
在本页
  • 多维数组
  • 不可变长

这有帮助吗?

  1. ZenCode

数组

  • 数组是一个容器,一个数组存储的元素的数据类型都是相同的。

  • 你可以往数组里存取数据,也可以修改数组里的数据。

  • 你可以为数组指定初始元素,也可以不指定。

  • 数组里的元素具有顺序,可重复。

import crafttweaker.api.item.IItemStack;

var int_array1 as int[] = [];
// 定义一个 int 类型的数组,没有初始元素

var int_array2 as int[] = [10,20,30];
// 定义一个 int 类型的数组,有三个初始元素

var strings as string[] = ["apple","carrot"];
// 定义一个 string 类型的数组,有两个初始元素

var items as IItemStack[] = [<item:minecraft:apple>, <item:minecraft:carrot>];
// 定义一个 IItemStack 类型的数组,有两个初始元素
  • 数组里的元素都具有下标,你可以通过下面的方式为数组添加元素,或修改数据。

  • 数组里第一个元素的下标为 0。

var numbers as int[] = [10,20,20]; // 定义一个数组
numbers[2] = 30; // 将下标为 2 的元素修改为 30
  • 数组有一个length属性,返回数组的元素个数。

var array as int[] = [2,4,6,8];
print(array.length); // array 的元素个数为 4,输出 4
  • 使用 in 操作符检查一个对象是否在数组里

var array as int[] = [2,4,6,8];

1 in array; // false
2 in array; // true

多维数组

你用过craftingTable.addShaped()吗?它的参数里面就有一个多维数组。准确的来说,是一个二维数组。

import crafttweaker.api.item.IItemStack;

var gold as IItemStack = <item:minecraft:gold_ingot>;
var apple as IItemStack = <item:minecraft:apple>;

craftingTable.addShaped("golden_apple", <minecraft:golden_apple>,
    [[gold,gold,gold],
     [gold,apple,gold],
     [gold,gold,gold]]
);

在上面的示例中,二维数组的第一个元素,是一个一维数组,即九宫格的第一行[gold,gold,gold]。

二维数组的操作和一维数组的操作相似。

var array as int[][] = [ //  定义一个二维数组
    [1,2,3],
    [4,5,6],
    [7,8,9]
];
// 如何获取第二行第三个数,即 6 呢?

print(array[1][2]); // 输出 6

// 二维数组第二个元素的下标为 1,这个元素同时也是一个数组,它的第三个元素下标为 2

不可变长

在 1.12 中我们可以通过 += 来给数组添加元素。而在 1.16 中由于引入了 List,所以我们不再需要给数组加元素了。关于 List 的介绍见后。

上一页循环下一页List

最后更新于4年前

这有帮助吗?