找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18279|回复: 1

[代码合集] 请教如何循环将动态数组的值传给函数处理?

[复制链接]
发表于 2020-5-13 20:02:16 | 显示全部楼层 |阅读模式
问题场景:
定义一个数组,数据个数不确定,可能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

请问这种数组下标也是参数的类型的传参怎么处理?谢谢!
发表于 2020-5-13 22:26:27 | 显示全部楼层
你都没定义 gpio_array,那可不是空的么
PS 请不要使用无意义的变量名……读起来很难受……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 18:12 , Processed in 0.016191 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表