array|译:Gamemaker Studio 2.3 语法详解( 八 )
show_debug_message (arr);// [1, 2]
array_delete (array,index,count)
array_delete(array, index, count) 删除数组中某一偏移处的元素
vararr =[1,2,3,4];
array_delete (arr,1,2);
show_debug_message (arr);// [1, 4]
array_sort (array,sorttype_or_function)
array_sort(array, sorttype_or_function) 对一个数组进行升序/降序排序(就像 ds_list_sort 一样) 。
vararr =[5,3,1,2,4];
array_sort (arr,true);
show_debug_message (arr);// [1, 2, 3, 4, 5]
或通过提供的“ comparator ”函数传递每个元素
varstrings =["plenty","1","three","two"];
array_sort (strings,function(a,b){
returnstring_length(a)-string_length(b);
});
show_debug_message(strings);// [ "1","two","three","plenty" ]_execute_ext
记得我们以前通过 switch 语句来根据某种情况 _execute 么?现在不需要了 。
vararr =[1,2,3,4];vartest =function{
varr ="";
for(vari =0;i <argument_count;i++){
if(i >0)r +=", ";
r +=string(argument[i]);
}
show_debug_message(r);
}
_execute_ext(test,arr);// `1, 2, 3, 4` - 整个 array
_execute_ext (test,arr,1);// `2, 3, 4` - 从偏移量开始
_execute_ext (test,arr,1,2);// `2, 3` - 偏移量和计数数据结构检查
增加了四个函数 , 用于检查 ds_list 和 ds_map 项是否为 map/list :
ds_list_is_map(id,index)
ds_list_is_list (id,index)
ds_map_is_map (id,key)
ds_map_is_list (id,key)
这可以验证你正在访问的东西(特别是对于 json_decode 输出)确实是一个 map/list
ds_map functions
增加了两个函数用于枚举 map 的键/值:
ds_map_values_to_array(id,?array)
ds_map_keys_to_array (id,?array)
这些对于迭代大型 map 来说是很方便的 , 特别是如果你希望在迭代过程中修改它们(这就是 ds_map_find_* 函数有未定义行为的地方) 。
类型检查功能
is_struct , is_method 已经被加入 , 用于检查一个值是否是一个结构或一个绑定的函数 , 但还有一个额外的功能--is_numeric 将检查一个值是否是任何数字类型( real , int32 , int64 , bool ) 。
突破性改变
需要注意的几件事:
2d array functions
由于 2d 数组函数现在已被废弃 , 它们翻译成如下 。
- array_length_1d(arr) ? array_length(arr)
- array_height_2d(arr) ? array_length(arr)
- array_length_2d(arr, ind) ? array_length(arr[ind])
你可以通过以下方式来解决这个问题
functionarray_height_2d_fixed(arr){
varn =array_length(arr);
推荐阅读
- bleu|字节跳动火山翻译上新 38 个稀有语种,翻译能力再升级
- 软件和应用|iOS/iPadOS端Telegram更新:引入隐藏文本、翻译等新功能
- 模型|经逆向工程,Transformer「翻译」成数学框架 | 25位学者撰文
- csdn|[译]C# 是 TypeScript 的最好替补?
- IT|网友反映北京地铁将“站”译为Zhan不妥 官方:统一译法
- Google|Android 13早期编译版本泄露 揭示诸多细节体验调整
- 弯月|[译]用树莓派控制WS2812圣诞树灯饰
- 技术|百度翻译公布十年成绩单:翻译质量提升30个百分点
- 机器人|[原]Web 已死
- 方法论|[译]Objective-C依然占C位,Swift和SwiftUI在iOS 15中的使用情况