Board logo

标题: [代码合集] 请教如何循环将动态数组的值传给函数处理? [打印本页]

作者: 滑两华    时间: 2020-5-13 20:02     标题: 请教如何循环将动态数组的值传给函数处理?

问题场景:
定义一个数组,数据个数不确定,可能2个,或者3个元素,比如array[3]并赋值:
::数组赋值
SETLOCAL ENABLEDELAYEDEXPANSION
set array[0]=111
set array[1]=222
set array[2]=333

set a=0
echo a=!a!
echo start to call the ConfigFUNC func

::使用loop进行获取数组的值
:loop
echo. zzzz !a!
set tttttt=%array[0]%
echo tttttt = !tttttt!

::此处打印eee的值是空,eee的值获取失败。不知道为啥?
set eee=!gpio_array[%a%]!
echo eee= !eee!

::调用函数,函数的传参好像有问题,函数获取不到,尝试了!gpio_array[!a!]! 方式也不行。
call:ConfigFUNC !gpio_array[%a%]!
set /a a+=1

if %a% == 3 goto end
goto loop

:end

pause
EXIT /b 0

::函数获取传参也是失败
:ConfigFUNC
echo start to config the GPIO process
set num=%~1
echo num is:!num!
EXIT /b 0

请问这种数组下标也是参数的类型的传参怎么处理?谢谢!
作者: bailong360    时间: 2020-5-13 22:26

你都没定义 gpio_array,那可不是空的么
PS 请不要使用无意义的变量名……读起来很难受……




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2