是否可以更改数组大小?你怎么做呢?

问题描述

是否可以在 KUKA KRL 编程语言中在运行时更改数组大小?是否可以从 C# 中模仿 List 的行为?

解决方法

没有。这是不可能的:(

,

在 KUKA KRL 中无法更改数组的大小,也无法动态设置数组的大小,例如在声明中使用变量:

DECL INT test_array[i]

数组必须预先分配。如果您不确定需要存储多少个元素,那么最好为数组预先分配一个您认为不会溢出的大量数字。

你不能对数组使用类似列表的行为,所以没有添加或查找等。它的裸骨分配给显式索引。

你可以做多维数组,例如:

DECL CHAR dog_names[5,32]
dog_names[1,] = "spot"
dog_names[2,] = "buddy"

DECL INT my_matrix[4,4]
my_matrix[4,2] = 6

您还可以制作一个 STRUC 数组,它们与您在 KRL 中获得的对象一样接近。 KRL 中的 STRUC 与其他编程语言中的结构类似。

ENUM PERMS admin,maint,user
STRUC SYSTEM_USER CHAR[32] first_name,last_name,REAL age,height,PERMS user_perm

DECL STRUC my_employees[10]

my_employees[1].first_name[] = "Sarah"
my_employees[1].last_name[] = "blahblah"
my_employees[1].age = 33
my_employees[1].height = 105
my_employees[1].user_perm = #admin

my_employees[2] = {first_name[] "Lester",user_perm = #maint}