1

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

4

2 回答 2

0

不,这是不可能的:(

于 2021-02-10T06:00:55.337 回答
0

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

DECL INT test_array[i]

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

您不能对数组使用类似列表的行为,因此不能使用 Add 或 Find 等。它对显式索引的基本分配。

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

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}
于 2021-02-12T18:34:54.653 回答