ref_create

此函数在结构或实例中创建对变量的引用。

您提供变量所属的结构体或实例,对其的引用,以及变量的名称(作为字符串),对存储变量的变量的引用 名称或索引。

对于数组,可以提供索引作为第三个参数,告诉其创建对哪个索引的引用。

可以创建更复杂的参考。 有关可能性的完整列表,请参阅示例。

注意 可以通过 调试覆盖层 中的引用更改该值。

警告无法 创建对 局部变量 的引用,因为它们只是暂时存在且无法被引用。

 

语法:

ref_create(dbgrefOrStruct, dbgrefOrIndex[, index]);

参数类型描述
dbgrefOrStructReference or Struct包含要引用的变量或其引用的结构体实例。也接受自身/其他/全局
dbgrefOrIndexReference or String变量的名称作为字符串,或对其的引用
indexReal可选 数组中的索引(如果引用的是数组)

 

返回:

Reference

 

示例 1:对实例变量的基本引用

text = "This is some text";
ref_to_text = ref_create(self, "text");

上面的代码首先在 Create 事件中创建一个实例变量text,然后使用ref_create创建对其的引用,该引用存储在变量ref_to_text中。

 

示例 2:对数组索引的基本引用

array = [1, 2, 3, 4, 5];
ref_to_index = ref_create(self, "array", 2);

上面的代码首先在执行代码的实例中创建一个包含 5 个元素的数组array。然后,它使用ref_create创建对索引 2(第三个元素)的引用。该引用存储在新的实例变量ref_to_index中。

 

示例 3:复杂引用

the_struct = {a: "text", b: 485};
ref_to_struct = ref_create(self, "the_struct");
ref_to_struct_var = ref_create(ref_to_struct, "a");

上面的代码首先在执行具有两个变量的代码的实例中创建一个结构体the_struct。然后,它使用ref_create创建对该结构的引用,然后将其作为dbgrefOrStruct参数传递给下一次调用ref_create。最后一次调用ref_create会创建对结构体变量a的引用,并将其存储在变量ref_to_struct_var中。使用之前存储在变量ref_to_struct中的引用,结构体本身会间接传递给函数。

 

示例 4:复杂数组参考

array = [3, 4, 1, 7, 8, 2];
index = 4;
ref_to_array = ref_create(self, "array");
ref_to_index = ref_create(self, "index");
ref_to_array_at_index = ref_create(ref_to_array, ref_to_index);

上面的代码创建了对数组array的引用,其中ref_create的第一个参数(要引用的数组)和第二个参数(用作数组的索引)都是它们本身参考。这意味着,如果您稍后为变量index分配不同的值,则由ref_to_array_at_index索引的数组元素也会更改为新值集。如果您将一个全新的数组分配给实例变量array,则ref_to_array_at_index将引用该数组中同一索引处的元素。