mjp*_*mjp 3 arrays perl perl-hash
在迭代它时,数组允许的操作是什么?是否可以移动/取消移位,弹出/推送,删除元素而不会混淆迭代器?
从哈希中添加/删除键值对有什么不同吗?
谢谢您的帮助.
您可以分配给现有元素,但不应添加或删除它们.所以没有转移,不移位,弹出,推动或拼接. perlsyn:
如果LIST的任何部分是一个数组,如果在循环体内添加或删除元素,foreach将会非常困惑,例如使用splice.所以不要这样做.
如果要使用哈希迭代each,则还应避免添加或删除元素,除非明确允许您删除当前元素. 每个:
如果在迭代时添加或删除哈希的元素,则不会指定对迭代器的影响; 例如,条目可能被跳过或重复 - 所以不要这样做.例外:删除每个()最近返回的项目总是安全的,因此以下代码可以正常工作:
但正如它所说,可能发生的最坏情况是条目被跳过或重复; 另一方面,修改正在循环的阵列可能会导致段错误.
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |