Zentutorial
  • 首页
  • Zenscript
  • 简单运用
    • 局部变量
    • 尖括号调用
    • 工作台合成
      • 添加配方
      • 移除配方
      • Metadata
      • NBT
    • 熔炉配方
    • 矿物词典(Ore Dictionaries)
    • 物品名称修改
    • tooltips
      • 样式代码
    • 物品条件
    • 物品转换器
    • 掉落物
      • 打草掉落物
      • 生物掉落物
      • Dropt - 导言
        • Dropt - 方法速查
        • Dropt - 使用示例
    • 战利品表 : 导论
      • 战利品表修改(LootTableTweaker)
      • 战利品表修改(LootTweaker-基础)
    • 循环语句(foreach循环) / 普通数组
  • 高级运用
    • 概论
      • 基本类
      • ZenGetter
      • ZenSetter
      • ZenMethod(方法)
    • 常见错误
    • 基本运算
    • 数组与集合
    • 循环与遍历
    • 全局函数
    • Math包
    • if
    • in/has 操作符
    • 战利品表修改(LootTweaker-进阶)
    • 三元操作符
    • 预处理器
    • 全局和静态变量
    • 跨脚本引用
    • 关联数组(映射)
    • IItemStack类型的重新认识
    • IIngredient接口
    • IItemDefinition & IBlockDefinition
    • IData 类型
      • DataMap
    • 穷举与遍历
    • 自定义函数
    • 配方函数与配方事件
      • 配方函数
      • 配方事件
    • 事件概论
      • 一些忠告
    • ZenClass
  • ContentTweaker
    • ContentTweaker
    • 指令
    • 原版加工厂
      • 概论
      • 物品
      • 方块
      • 流体
      • 创造标签
      • 食物
    • 材料系统
      • 基础用法
        • 材料
        • 部件
        • 注册材料部件
        • 材料部件信息
      • 高级运用
        • 自定义部件类型
        • 注册自定义部件
        • 自定义材料部件信息
    • 高级运用
    • 更多鸡联动
    • 匠魂联动
      • 材料引导
        • 材料
        • 构建材料
      • 特性引导
        • 特性
        • 构建特性
        • 特性数据
      • 高级运用
  • 实战
    • 配方
      • 数据驱动合成修改
    • 事件
      • 修改方块掉落物
      • 禁止开创造
由 GitBook 提供支持
在本页
  • 数组
  • 多维数组

这有帮助吗?

  1. 高级运用

数组与集合

数组

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

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

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

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

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

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

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

var array as int[] = [2,4,6,8];
print(array.length); // array 的元素个数为 4,输出 4

多维数组

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

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

recipes.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
上一页基本运算下一页循环与遍历

最后更新于3年前

这有帮助吗?