是否可以更改数组大小?你怎么做呢?
Is it possible to change array size? How do you do it?
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 中的结构与其他编程语言中的结构类似。
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}
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 中的结构与其他编程语言中的结构类似。
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}