比较两个不同本地宏的元素 [英] Comparing elements of two different local macros
本文介绍了比较两个不同本地宏的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个名为peer_list
的本地宏,它包含280个不同的元素,所有这些元素都是字符串。我还有另一个名为used_list
的本地宏,它包含本地peer_list
中包含的元素的子集。
peer_list
中的每个元素,我想测试该元素是否在本地used_list
中。如果used_list
中存在该元素,我想放弃它,否则我想执行另一组条件。
我尝试使用以下代码,但不起作用:
foreach peer in local peer_list {
if `:list peer in local used_list' {
* commands I wish to execute
}
else {
* commands I wish to execute
}
}
如果有任何关于实现这一目标的替代方法的建议,我将不胜感激。
推荐答案
您没有说明您的代码在什么意义上"不工作",也没有提供可重复使用的示例。然而,你似乎在沿着正确的路线工作。
local beasts frog toad newt unicorn griffin
local real frog toad newt
foreach b of local beasts {
if `: list b in real' {
di "`b' is real"
}
else di "`b' is fabulous"
}
frog is real
toad is real
newt is real
unicorn is fabulous
griffin is fabulous
类似代码的一个常见错误是在不同的区域定义和使用本地宏,从而使它们看不到彼此。
一个更明显的错误是您需要关键字of
而不是in
。你拥有的是合法的,但不是你想要的。比较
foreach b in local beasts {
di "`b'"
}
local
beasts
这篇关于比较两个不同本地宏的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文