gpt4 book ai didi

arrays - KRL : Length of an array

转载 作者:行者123 更新时间:2023-12-01 22:50:12 24 4
gpt4 key购买 nike

在 KUKA 机器人语言 (KRL) 中,是否可以获取数组的长度,或者是否可以循环遍历数组中的所有值?目前我将数组长度存储在一个单独的变量中,并像这样:

; In the DAT file:
DECL CONST INT FOO_LENGTH = 3
DECL CONTS INT FOO[3]
FOO[1] = 12
FOO[2] = 34
FOO[3] = 56

; In the SRC file:
INT IDX
FOR IDX = 1 TO FOO_LENGTH
do_something(FOO[IDX])
ENDFOR

基本上我想摆脱 FOO_LENGTH 变量。

最佳答案

对于 CHAR 数组有一个函数

INT STRDECLLEN (CHAR STRVAR[470]:OUT)

这将完成这项工作并确定 char 数组的长度。例如。你可以写

DEF stringtests( )
char myString[80]
int i,n
n = strdecllen(myString[])
for i = 1 to n
myString[i] = "Z"
endfor
n = strdecllen(myStringDat[])
for i = 1 to n
myStringDat[i] = "Z"
endfor
end

对应的.dat文件

DEFDAT  stringtests PUBLIC
CHAR myStringDat[10]
myStringDat[]="ZZZZZZZZZZ"
ENDDAT

第二个循环没有看到也不需要知道数组的长度。

不幸的是,似乎没有针对任意数据类型数组的函数,请参阅 http://www.robot-forum.com/robotforum/kuka-robot-forum/kuka-(possibly)-complete-list-of-functions-and-subprograms/ 下的官方和非官方 KRL 函数列表。 .因此,您必须编写函数或子例程来获取数组名称和长度,或者知道您的数组长度。

关于arrays - KRL : Length of an array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com