如何解决TRACE32:PRACTICE脚本:遍历变量列表
在PRACTICE脚本中,是否有一种简便的方法来遍历“变量/宏列表”?例如:
; this "list" changes...
PRIVATE &var1 &var2 &var3
; this implementation shall not change
; do something with &var1 &var2 &var3 ...
解决方法
我假定您正在考虑应该处理可变数量参数的子例程或单独的脚本。由于在执行时扩展了宏,被调用方将看不到宏,而只能看到其内容。因此,被呼叫者看到的是用空格分隔的值的列表。您可以编写一个子例程,将参数解析为一个字符串,然后使用STRing.SPLIT()将其分隔。示例:
api/profilo
输出:
PRINT "Print 1 item:"
GOSUB PrintItems ONE
PRINT "Print 3 items:"
GOSUB PrintItems ONE TWO THREE
ENDDO
PrintItems:
PRIVATE &list &count
ENTRY %LINE &list
&count=STRing.COUNT("&list"," ")+1
&index=0
RePeat
(
PRIVATE &item
&item=STRing.SPLIT("&list"," ",&index)
PRINT "&item"
&index=&index+1
)
WHILE &index<&count
RETURN
通过替换STRing.COUNT()和STRing.SPLIT()中的BLANK,当然也可以在子例程调用中,也可以使用其他分隔符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。