如何在 omnet.ini 的参数部分将数组索引枚举为奇数和偶数

how to enumerate array indices as odd and even numbers in parameters part of omnet.ini

我把这个参数作为一个数组。数组很大,有 100 个单元格。是可以在omnet.ini文件中启动的参数。偶数单元格应获得值 A,奇数单元格应获得值 B。我如何以自动方式执行此操作?

除了手动将所有奇数和偶数索引一个一个地启动外,还有什么办法吗?

通配符很有用,但我不知道如何使用它们来分隔奇数和偶数索引。

谢谢。

我不知道有这样的功能。您可以使用多种解决方法:

  1. 提供两个参数和select代码中的正确参数
  2. 使用 volatile 关键字(此处可能不合适)
  3. 将整个内容放入您的 .ini 文件

我个人会实施第一种方法,这样您就可以使用通配符传递两个参数([*].myNode.parameterEven[*].myNode.parameterUneven),然后在 for 中的数组中设置正确的值循环。

但是,您也可以在 NED 文件中使用 volatile 关键字,有关详细信息,请参阅 the manual。但是,如果您根据要分配给哪个节点而使用不同的参数,则这种方法通常效果很好。对于这种情况,我认为第一种方法更好。

最后一种选择是将整个内容放入 .ini 文件中,如果您想稍后对数组进行参数化,这可能会有用。

您可以使用 index 运算符访问实际的模块索引。将其与条件运算符 ?: 结合使用,您可以轻松定义值:

**.myModule[*].myParameter = index % 2 == 0 ? "A" : "B"