我的数组具有六个具有循环特性的元素,即第一个元素的邻居是第二个元素和第六个元素,同样,第6个元素的邻居是第5个元素和第5个元素。第一元素。现在,一种访问它们的简单方法是:
array:item array ( (a + 5) mod 6 ) and array:item array ( (a + 1) mod 6)
其中" a"是我们感兴趣的数组元素。考虑到" mod'operator在计算上是最昂贵的事实,我如何在不使用" mod"运算符的情况下实现数组的循环性质?
- 过早优化?我怀疑
mod
会是你的瓶脖子。 - 只需制作一个表(使用
table
扩展)将每个项目映射到其"邻居"。